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






@@@@@@@@@@  VC: procedure_create_response_dnskey_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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(18).
     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(19).
     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(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C1:  numfound__1 >= 0
     using hypothesis H32.
***  Proved C2:  numfound__1 <= 2147483647
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__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_dnskey_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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
***  Proved C2:  1 <= natural__last
     using hypotheses H35 & H40.
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
<S>  New C1:  true
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H42).
-S-  Applied substitution rule create_respo_rules(172).
     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 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(173).
     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 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= 
          rr_type__classtype__last)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_5.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C1:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) >= - 2147483648
<S>  New C3:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 >= - 2147483648
<S>  New C8:  rr_type__dnskey_record_type__maxdnskeylength >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C2:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) <= 2147483647
<S>  New C4:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 <= 2147483647
<S>  New C9:  rr_type__dnskey_record_type__maxdnskeylength <= 2147483631
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C5:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C6:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New C1:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) >= 
          - 2147483648
<S>  New C3:  dns_types__header_bits div 8 >= - 2147485029
<S>  New C8:  true
<S>  New C2:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) <= 
          2147483647
<S>  New C4:  dns_types__header_bits div 8 <= 2147482266
<S>  New C9:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C10:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C11:  start_byte <= 2147483647
***  Proved C8:  true
***  Proved C9:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
<S>  New C1:  1381 + dns_types__header_bits div 8 <= 2147491840
<S>  New C2:  - 2147475455 <= 1381 + 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 C5:  true
<S>  New C6:  true
<S>  New C3:  true
<S>  New C4:  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(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
<S>  New H42:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H52:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H53:  true
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C10:  start_byte >= - 2147483648
     using hypothesis H3.
***  Proved C11:  start_byte <= 2147483647
     using hypothesis H2.
***  Proved C5:  true
***  Proved C6:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_6.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(returneddnskeyrecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  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(returneddnskeyrecords, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) 
          <= rr_type__classtype__last)
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H121 on reading formula in, to give:
     %%%  H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(returneddnskeyrecords, 
          [i___1])), [i___2]) and element(fld_key(element(
          returneddnskeyrecords, [i___1])), [i___2]) <= character__last))
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
<S>  New C1:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) >= - 2147483648
<S>  New C3:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 >= - 2147483648
<S>  New C8:  rr_type__dnskey_record_type__maxdnskeylength >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
<S>  New C2:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) <= 2147483647
<S>  New C4:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 <= 2147483647
<S>  New C9:  rr_type__dnskey_record_type__maxdnskeylength <= 2147483631
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C5:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C6:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < dns_types__packet_size - (1381 + 
          dns_types__header_bits div 8)
<S>  New C1:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) >= 
          - 2147483648
<S>  New C3:  dns_types__header_bits div 8 >= - 2147485029
<S>  New C8:  true
<S>  New C2:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) <= 
          2147483647
<S>  New C4:  dns_types__header_bits div 8 <= 2147482266
<S>  New C9:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C10:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C11:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
***  Proved C8:  true
***  Proved C9:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (1381 + dns_types__header_bits div 8)
<S>  New C1:  1381 + dns_types__header_bits div 8 <= 2147491840
<S>  New C2:  - 2147475455 <= 1381 + 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 H6:  current_byte < 6799
<S>  New C5:  true
<S>  New C6:  true
<S>  New C3:  true
<S>  New C4:  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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
<S>  New H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
<S>  New H109:  response_counter >= - 1
<S>  New H111:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  response_counter <= 2147483647
<S>  New H110:  response_counter <= 2147483646
<S>  New H112:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
<S>  New H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
<S>  New H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
<S>  New H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
<S>  New H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
<S>  New H116:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
<S>  New H116:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
<S>  New H117:  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(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
<S>  New H117:  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(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H125:  response_counter >= 0
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= 65535)
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= 4294967295)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H126:  response_counter <= 63
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) <= 255)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords, [i___1])) and fld_flags(
          element(returneddnskeyrecords, [i___1])) <= 65535)
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           and fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [
          i___1]))) <= 4294967295)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) and fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2])
           <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) <= 255))
***  Proved C10:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
     using hypothesis H101.
***  Proved C11:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
     using hypothesis H102.
***  Proved C5:  true
***  Proved C6:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_7.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
<S>  New C1:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) >= - 2147483648
<S>  New C3:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 >= - 2147483648
<S>  New C8:  rr_type__dnskey_record_type__maxdnskeylength >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
<S>  New C2:  dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8) <= 2147483647
<S>  New C4:  16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8 <= 2147483647
<S>  New C9:  rr_type__dnskey_record_type__maxdnskeylength <= 2147483631
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C5:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C6:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < dns_types__packet_size - (1381 + 
          dns_types__header_bits div 8)
<S>  New C1:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) >= 
          - 2147483648
<S>  New C3:  dns_types__header_bits div 8 >= - 2147485029
<S>  New C8:  true
<S>  New C2:  dns_types__packet_size - (1381 + dns_types__header_bits div 8) <= 
          2147483647
<S>  New C4:  dns_types__header_bits div 8 <= 2147482266
<S>  New C9:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C10:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C11:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
***  Proved C8:  true
***  Proved C9:  true
>>>  Restructured hypothesis H115 into:
     >>>  H115:  numfound < response_counter + 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 H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (1381 + dns_types__header_bits div 8)
<S>  New C1:  1381 + dns_types__header_bits div 8 <= 2147491840
<S>  New C2:  - 2147475455 <= 1381 + 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 H6:  current_byte < 6799
<S>  New C5:  true
<S>  New C6:  true
<S>  New C3:  true
<S>  New C4:  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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
<S>  New H109:  response_counter >= - 1
<S>  New H111:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  response_counter <= 2147483647
<S>  New H110:  response_counter <= 2147483646
<S>  New H112:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
***  Proved C10:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
     using hypothesis H101.
***  Proved C11:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
     using hypothesis H102.
***  Proved C5:  true
***  Proved C6:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_8.  @@@@@@@@@@
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  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 C15 on reading formula in, to give:
     %%%  C15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified C27 on reading formula in, to give:
     %%%  C27:  for_all(i___1 : integer, 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 H71.
***  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:  start_byte < dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8)
     using hypothesis H72.
***  Proved C8:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C9:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H4.
***  Proved C10:  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 C11:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H6.
***  Proved C12:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H7.
***  Proved C13:  fld_messageid(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H8.
***  Proved C14:  fld_messageid(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H9.
***  Proved C15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
     using hypothesis H10.
***  Proved C16:  fld_opcode(fld_header(output_packet)) <= 
          dns_types__opcode_type__last
     using hypothesis H11.
***  Proved C17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
     using hypothesis H12.
***  Proved C18:  fld_rcode(fld_header(output_packet)) <= 
          dns_types__response_code__last
     using hypothesis H13.
***  Proved C19:  fld_qdcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H14.
***  Proved C20:  fld_qdcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H15.
***  Proved C21:  fld_ancount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H16.
***  Proved C22:  fld_ancount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H17.
***  Proved C23:  fld_nscount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H18.
***  Proved C24:  fld_nscount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H19.
***  Proved C25:  fld_arcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H20.
***  Proved C26:  fld_arcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H21.
***  Proved C27:  for_all(i___1 : integer, 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 C28:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H23.
***  Proved C29:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H24.
***  Proved C30:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H1.
***  Proved C31:  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 C7:  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 H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) <= integer__base__last
<S>  New H72:  start_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H62:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 >= 
          integer__base__first
<S>  New H63:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 <= 
          integer__base__last
<S>  New H64:  12 >= system__min_int
<S>  New H65:  12 <= system__max_int
<S>  New H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          <= integer__base__last
<S>  New H72:  start_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H67:  1381 >= integer__base__first
<S>  New H68:  1381 <= integer__base__last
<S>  New H62:  1393 >= integer__base__first
<S>  New H63:  1393 <= integer__base__last
<S>  New H60:  6799 >= integer__base__first
<S>  New H61:  6799 <= integer__base__last
<S>  New H72:  start_byte < 6799
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H64:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H65:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H69:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H70:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H67:  true
<S>  New H62:  true
<S>  New H60:  true
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H68:  true
<S>  New H63:  true
<S>  New H61:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
<S>  New H42:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New 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(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H52:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H53:  true
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C7:  numfound__1 <= 64
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_9.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(returneddnskeyrecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  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(returneddnskeyrecords, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) 
          <= rr_type__classtype__last)
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H121 on reading formula in, to give:
     %%%  H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(returneddnskeyrecords, 
          [i___1])), [i___2]) and element(fld_key(element(
          returneddnskeyrecords, [i___1])), [i___2]) <= character__last))
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified H139 on reading formula in, to give:
     %%%  H139:  true
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H115).
%%%  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 C10 on reading formula in, to give:
     %%%  C10:  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 C15 on reading formula in, to give:
     %%%  C15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet__3))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet__3))
%%%  Simplified C27 on reading formula in, to give:
     %%%  C27:  for_all(i___1 : integer, 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 C30 on reading formula in, to give:
     %%%  C30:  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 C6:  current_byte + (16 + bytesusedinencodedkey__3) < 
          dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8)
     using hypothesis H145.
***  Proved C7:  numfound <= rr_type__maxnumrecords
     using hypothesis H7.
***  Proved C8:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H8.
***  Proved C9:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H9.
***  Proved C10:  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 H10.
***  Proved C11:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H11.
***  Proved C12:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H12.
***  Proved C27:  for_all(i___1 : integer, 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 H90.
***  Proved C28:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H28.
***  Proved C29:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H29.
***  Proved C30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H30.
***  Proved C31:  start_byte <= dns_types__packet_size
     using hypothesis H3.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
<S>  New C13:  fld_messageid(fld_header(output_packet__3)) >= 0
<S>  New C19:  fld_qdcount(fld_header(output_packet__3)) >= 0
<S>  New C21:  fld_ancount(fld_header(output_packet__3)) >= 0
<S>  New C23:  fld_nscount(fld_header(output_packet__3)) >= 0
<S>  New C25:  fld_arcount(fld_header(output_packet__3)) >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H5:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H30:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C14:  fld_messageid(fld_header(output_packet__3)) <= 65535
<S>  New C20:  fld_qdcount(fld_header(output_packet__3)) <= 65535
<S>  New C22:  fld_ancount(fld_header(output_packet__3)) <= 65535
<S>  New C24:  fld_nscount(fld_header(output_packet__3)) <= 65535
<S>  New C26:  fld_arcount(fld_header(output_packet__3)) <= 65535
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
<S>  New C15:  dns_types__query <= fld_opcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
<S>  New C16:  fld_opcode(fld_header(output_packet__3)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
<S>  New C17:  dns_types__no_error <= fld_rcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
<S>  New C18:  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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8)
<S>  New H133:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) >= integer__base__first
<S>  New H134:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) <= integer__base__last
<S>  New H145:  current_byte + (16 + bytesusedinencodedkey__3) < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H135:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 >= 
          integer__base__first
<S>  New H136:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 <= 
          integer__base__last
<S>  New H137:  12 >= system__min_int
<S>  New H138:  12 <= system__max_int
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
<S>  New H133:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          >= integer__base__first
<S>  New H134:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          <= integer__base__last
<S>  New H145:  current_byte + (16 + bytesusedinencodedkey__3) < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H140:  1381 >= integer__base__first
<S>  New H141:  1381 <= integer__base__last
<S>  New H135:  1393 >= integer__base__first
<S>  New H136:  1393 <= integer__base__last
<S>  New H6:  current_byte < 6799
<S>  New H133:  6799 >= integer__base__first
<S>  New H134:  6799 <= integer__base__last
<S>  New H145:  current_byte + (16 + bytesusedinencodedkey__3) < 6799
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H137:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H138:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H142:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H143:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
<S>  New H140:  true
<S>  New H135:  true
<S>  New H133:  true
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
<S>  New H141:  true
<S>  New H136:  true
<S>  New H134:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
<S>  New H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
<S>  New H109:  response_counter >= - 1
<S>  New H111:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  response_counter <= 2147483647
<S>  New H110:  response_counter <= 2147483646
<S>  New H112:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
<S>  New H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
<S>  New H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
<S>  New H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
<S>  New H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
<S>  New H116:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
<S>  New H116:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
<S>  New H117:  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(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
<S>  New H117:  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(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H125:  response_counter >= 0
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= 255)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= 65535)
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           <= 4294967295)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) and 
          fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H126:  response_counter <= 63
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) <= 255)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords, [i___1])) and fld_flags(
          element(returneddnskeyrecords, [i___1])) <= 65535)
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           and fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [
          i___1]))) <= 4294967295)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) and fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2])
           <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) <= 255))
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H141 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H125 (duplicate of H107).
---  Eliminated hypothesis H39 (duplicate of H11).
---  Eliminated hypothesis H2 (redundant, given H115).
---  Eliminated hypothesis H3 (redundant, given H9).
---  Eliminated hypothesis H29 (redundant, given H5).
---  Eliminated hypothesis H33 (redundant, given H6).
---  Eliminated hypothesis H36 (redundant, given H32).
---  Eliminated hypothesis H37 (redundant, given H6).
---  Eliminated hypothesis H38 (redundant, given H6).
---  Eliminated hypothesis H40 (redundant, given H12).
---  Eliminated hypothesis H41 (redundant, given H32).
---  Eliminated hypothesis H42 (redundant, given H6).
---  Eliminated hypothesis H48 (redundant, given H32).
---  Eliminated hypothesis H49 (redundant, given H6).
---  Eliminated hypothesis H50 (redundant, given H32).
---  Eliminated hypothesis H51 (redundant, given H6).
---  Eliminated hypothesis H54 (redundant, given H32).
---  Eliminated hypothesis H55 (redundant, given H6).
---  Eliminated hypothesis H56 (redundant, given H32).
---  Eliminated hypothesis H57 (redundant, given H6).
---  Eliminated hypothesis H60 (redundant, given H32).
---  Eliminated hypothesis H61 (redundant, given H6).
---  Eliminated hypothesis H62 (redundant, given H32).
---  Eliminated hypothesis H63 (redundant, given H6).
---  Eliminated hypothesis H66 (redundant, given H32).
---  Eliminated hypothesis H67 (redundant, given H6).
---  Eliminated hypothesis H68 (redundant, given H32).
---  Eliminated hypothesis H69 (redundant, given H6).
---  Eliminated hypothesis H85 (redundant, given H32).
---  Eliminated hypothesis H86 (redundant, given H6).
---  Eliminated hypothesis H88 (redundant, given H32).
---  Eliminated hypothesis H89 (redundant, given H6).
---  Eliminated hypothesis H102 (redundant, given H145).
---  Eliminated hypothesis H103 (redundant, given H91).
---  Eliminated hypothesis H104 (redundant, given H92).
---  Eliminated hypothesis H105 (redundant, given H91).
---  Eliminated hypothesis H106 (redundant, given H92).
---  Eliminated hypothesis H107 (redundant, given H1).
---  Eliminated hypothesis H108 (redundant, given H110).
---  Eliminated hypothesis H109 (redundant, given H1).
---  Eliminated hypothesis H110 (redundant, given H126).
---  Eliminated hypothesis H111 (redundant, given H1 & H115).
---  Eliminated hypothesis H112 (redundant, given H7).
---  Eliminated hypothesis H142 (redundant, given H101).
---  Eliminated hypothesis H143 (redundant, given H145).
-S-  Eliminated hypothesis H4.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H28:  answer_count~ >= 0
<S>  New H5:  answer_count~ <= 65471
-S-  Substituted hypothesis H44.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
-S-  Substituted hypothesis H93.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__3) by:
          fld_header(output_packet).
***  Proved C13:  fld_messageid(fld_header(output_packet)) >= 0
     using hypothesis H13.
***  Proved C19:  fld_qdcount(fld_header(output_packet)) >= 0
     using hypothesis H19.
***  Proved C21:  fld_ancount(fld_header(output_packet)) >= 0
     using hypothesis H21.
***  Proved C23:  fld_nscount(fld_header(output_packet)) >= 0
     using hypothesis H23.
***  Proved C25:  fld_arcount(fld_header(output_packet)) >= 0
     using hypothesis H25.
***  Proved C14:  fld_messageid(fld_header(output_packet)) <= 65535
     using hypothesis H14.
***  Proved C20:  fld_qdcount(fld_header(output_packet)) <= 65535
     using hypothesis H20.
***  Proved C22:  fld_ancount(fld_header(output_packet)) <= 65535
     using hypothesis H22.
***  Proved C24:  fld_nscount(fld_header(output_packet)) <= 65535
     using hypothesis H24.
***  Proved C26:  fld_arcount(fld_header(output_packet)) <= 65535
     using hypothesis H26.
***  Proved C15:  dns_types__query <= fld_opcode(fld_header(output_packet))
     using hypothesis H15.
***  Proved C16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
     using hypothesis H16.
***  Proved C17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
     using hypothesis H17.
***  Proved C18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
     using hypothesis H18.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_10.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  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 C10 on reading formula in, to give:
     %%%  C10:  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 C15 on reading formula in, to give:
     %%%  C15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet__3))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet__3))
%%%  Simplified C27 on reading formula in, to give:
     %%%  C27:  for_all(i___1 : integer, 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 C30 on reading formula in, to give:
     %%%  C30:  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 H133.
***  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 C6:  current_byte + (16 + bytesusedinencodedkey__3) < 
          dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8)
     using hypothesis H134.
***  Proved C7:  numfound <= rr_type__maxnumrecords
     using hypothesis H7.
***  Proved C8:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H8.
***  Proved C9:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H9.
***  Proved C10:  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 H10.
***  Proved C11:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H11.
***  Proved C12:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H12.
***  Proved C27:  for_all(i___1 : integer, 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 H90.
***  Proved C28:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H28.
***  Proved C29:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H29.
***  Proved C30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H30.
***  Proved C31:  start_byte <= dns_types__packet_size
     using hypothesis H3.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
<S>  New C13:  fld_messageid(fld_header(output_packet__3)) >= 0
<S>  New C19:  fld_qdcount(fld_header(output_packet__3)) >= 0
<S>  New C21:  fld_ancount(fld_header(output_packet__3)) >= 0
<S>  New C23:  fld_nscount(fld_header(output_packet__3)) >= 0
<S>  New C25:  fld_arcount(fld_header(output_packet__3)) >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H5:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H30:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C14:  fld_messageid(fld_header(output_packet__3)) <= 65535
<S>  New C20:  fld_qdcount(fld_header(output_packet__3)) <= 65535
<S>  New C22:  fld_ancount(fld_header(output_packet__3)) <= 65535
<S>  New C24:  fld_nscount(fld_header(output_packet__3)) <= 65535
<S>  New C26:  fld_arcount(fld_header(output_packet__3)) <= 65535
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
<S>  New C15:  dns_types__query <= fld_opcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
<S>  New C16:  fld_opcode(fld_header(output_packet__3)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
<S>  New C17:  dns_types__no_error <= fld_rcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
<S>  New C18:  fld_rcode(fld_header(output_packet__3)) <= dns_types__refused
>>>  Restructured hypothesis H115 into:
     >>>  H115:  numfound < response_counter + 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 H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8)
<S>  New H122:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) >= integer__base__first
<S>  New H123:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) <= integer__base__last
<S>  New H134:  current_byte + (16 + bytesusedinencodedkey__3) < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H124:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 >= 
          integer__base__first
<S>  New H125:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 <= 
          integer__base__last
<S>  New H126:  12 >= system__min_int
<S>  New H127:  12 <= system__max_int
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
<S>  New H122:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          >= integer__base__first
<S>  New H123:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          <= integer__base__last
<S>  New H134:  current_byte + (16 + bytesusedinencodedkey__3) < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H129:  1381 >= integer__base__first
<S>  New H130:  1381 <= integer__base__last
<S>  New H124:  1393 >= integer__base__first
<S>  New H125:  1393 <= integer__base__last
<S>  New H6:  current_byte < 6799
<S>  New H122:  6799 >= integer__base__first
<S>  New H123:  6799 <= integer__base__last
<S>  New H134:  current_byte + (16 + bytesusedinencodedkey__3) < 6799
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H126:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H127:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H131:  current_byte + (16 + bytesusedinencodedkey__3) >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H132:  current_byte + (16 + bytesusedinencodedkey__3) <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
<S>  New H129:  true
<S>  New H124:  true
<S>  New H122:  true
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
<S>  New H130:  true
<S>  New H125:  true
<S>  New H123:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
<S>  New H109:  response_counter >= - 1
<S>  New H111:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  response_counter <= 2147483647
<S>  New H110:  response_counter <= 2147483646
<S>  New H112:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
###  Established a contradiction [P-and-not-P] among the following hypotheses:
          H115 & H133.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_11.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
***  Proved C3:  current_byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H32.
-S-  Applied substitution rule create_respo_rules(126).
     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(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New C2:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New C7:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H27:  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 H33:  current_byte <= 8180
<S>  New C4:  current_byte <= 8179
<S>  New C5:  current_byte <= 8178
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C8:  current_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C9:  current_byte <= 2147483646
***  Proved C9:  current_byte <= 2147483646
     using hypothesis H33.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < 6799
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(130).
     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(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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 H11.
***  Proved C7:  qname_location <= 65535
     using hypothesis H12.
***  Proved C4:  current_byte <= 8179
     using hypothesis H6.
***  Proved C5:  current_byte <= 8178
     using hypothesis H6.
***  Proved C8:  current_byte >= - 2147483649
     using hypothesis H32.
***  Proved C1:  (qname_location + 49152) mod 65536 >= 0
***  Proved C2:  (qname_location + 49152) mod 65536 <= 65535
***  PROVED VC.


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


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


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


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


@@@@@@@@@@  VC: procedure_create_response_dnskey_16.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
***  Proved C1:  current_byte + 7 >= dns_types__packet_bytes_range__first
     using hypothesis H32.
***  Proved C4:  current_byte + 7 >= dns_types__packet_bytes_range__base__first
     using hypothesis H41.
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H27:  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 H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H43:  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 H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New C2:  current_byte <= 8173
<S>  New C3:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New C5:  current_byte <= 2147483640
***  Proved C5:  current_byte <= 2147483640
     using hypothesis H33.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < 6799
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
***  Proved C2:  current_byte <= 8173
     using hypothesis H6.
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H11).
---  Eliminated hypothesis H3 (redundant, given H9).
---  Eliminated hypothesis H29 (redundant, given H5).
---  Eliminated hypothesis H33 (redundant, given H6).
---  Eliminated hypothesis H36 (redundant, given H32).
---  Eliminated hypothesis H37 (redundant, given H6).
---  Eliminated hypothesis H38 (redundant, given H6).
---  Eliminated hypothesis H40 (redundant, given H12).
---  Eliminated hypothesis H41 (redundant, given H32).
---  Eliminated hypothesis H42 (redundant, given H6).
---  Eliminated hypothesis H48 (redundant, given H32).
---  Eliminated hypothesis H49 (redundant, given H6).
---  Eliminated hypothesis H50 (redundant, given H32).
---  Eliminated hypothesis H51 (redundant, given H6).
---  Eliminated hypothesis H54 (redundant, given H32).
---  Eliminated hypothesis H55 (redundant, given H6).
---  Eliminated hypothesis H56 (redundant, given H32).
---  Eliminated hypothesis H57 (redundant, given H6).
---  Eliminated hypothesis H60 (redundant, given H32).
---  Eliminated hypothesis H61 (redundant, given H6).
---  Eliminated hypothesis H62 (redundant, given H32).
---  Eliminated hypothesis H63 (redundant, given H6).
---  Eliminated hypothesis H66 (redundant, given H32).
---  Eliminated hypothesis H67 (redundant, given H6).
---  Eliminated hypothesis H68 (redundant, given H32).
---  Eliminated hypothesis H69 (redundant, given H6).
-S-  Eliminated hypothesis H4.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H28:  answer_count~ >= 0
<S>  New H5:  answer_count~ <= 65471
---  Substituted hypothesis H44, which specifies an equivalence for fld_header(
          output_packet__2).
***  Proved C3:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
     via its standard form, which is:
     Std.Fm C3:  - current_byte - fld_keylength(currentrec) > - 8164
     using hypotheses H6 & H84.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_17.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
***  Proved C1:  bytesusedinencodedkey__3 >= 
          rr_type__dnskey_record_type__keylengthvaluetype__first
     using hypothesis H91.
***  Proved C2:  bytesusedinencodedkey__3 <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last
     using hypothesis H92.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_18.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 C1:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New C3:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H27:  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 H43:  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 H90:  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 C2:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New C4:  bytesusedinencodedkey__3 <= 8164
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C5:  bytesusedinencodedkey__3 >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C6:  bytesusedinencodedkey__3 <= 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < 6799
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H27:  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 H43:  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 H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
***  Proved C1:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
     using hypotheses H32 & H91.
***  Proved C3:  bytesusedinencodedkey__3 >= - 15
     using hypothesis H91.
***  Proved C2:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
     using hypotheses H6 & H92.
***  Proved C4:  bytesusedinencodedkey__3 <= 8164
     using hypothesis H92.
***  Proved C5:  bytesusedinencodedkey__3 >= - 2147483664
     using hypothesis H91.
***  Proved C6:  bytesusedinencodedkey__3 <= 2147483631
     using hypothesis H92.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_19.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
***  Proved C1:  response_counter + 1 >= natural__first
     using hypothesis H107.
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < 6799
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
***  Proved C2:  response_counter <= 2147483646
     using hypotheses H2 & H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_20.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  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 H15 on reading formula in, to give:
     %%%  H15:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 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 H30 on reading formula in, to give:
     %%%  H30:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H31 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  for_all(i___1 : integer, 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 H58 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  rr_type__classtype__first <= fld_class(fld_inherit(currentrec))
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(currentrec), [i___1]) and 
          element(fld_key(currentrec), [i___1]) <= character__last)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  for_all(i___1 : integer, 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 H93 on reading formula in, to give:
     %%%  H93:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(returneddnskeyrecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  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(returneddnskeyrecords, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) 
          <= rr_type__classtype__last)
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
%%%  Simplified H121 on reading formula in, to give:
     %%%  H121:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(returneddnskeyrecords, 
          [i___1])), [i___2]) and element(fld_key(element(
          returneddnskeyrecords, [i___1])), [i___2]) <= character__last))
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H110).
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returneddnskeyrecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords, [i___1]))) 
          <= rr_type__classtype__last)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(returneddnskeyrecords, 
          [i___1])), [i___2]) and element(fld_key(element(
          returneddnskeyrecords, [i___1])), [i___2]) <= character__last))
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New C1:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returneddnskeyrecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) and fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) <= rr_type__classtype__last)
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords, [i___1])) and fld_flags(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned16__last)
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords, [i___1])) and fld_protocol(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords, [i___1])) <= unsigned_types__unsigned8__last)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(returneddnskeyrecords, 
          [i___1])), [i___2]) and element(fld_key(element(
          returneddnskeyrecords, [i___1])), [i___2]) <= character__last))
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New C2:  response_counter <= 63
***  Proved C1:  response_counter >= 0
     using hypothesis H1.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H6:  current_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12)
-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 H7:  numfound <= 64
<S>  New H30:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H6:  current_byte < 6799
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H105:  bytesusedinencodedkey__3 >= - 2147483664
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H106:  bytesusedinencodedkey__3 <= 2147483631
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= character__last)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H10:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H82:  for_all(i___1 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___1 
          and i___1 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(currentrec), [i___1]) and element(fld_key(
          currentrec), [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords, [i___1])), 
          [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H107:  response_counter >= 0
<S>  New H109:  response_counter >= - 1
<S>  New H111:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H108:  response_counter <= 2147483647
<S>  New H110:  response_counter <= 2147483646
<S>  New H112:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H11:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H12:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H8:  start_byte >= 1
<S>  New H27:  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 H32:  current_byte >= 1
<S>  New H36:  current_byte >= 0
<S>  New H43:  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 H48:  current_byte >= - 2
<S>  New H54:  current_byte >= - 3
<S>  New H60:  current_byte >= - 4
<S>  New H66:  current_byte >= - 5
<S>  New H85:  current_byte >= - 6
<S>  New H90:  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 H101:  current_byte + (16 + bytesusedinencodedkey__3) >= 1
<S>  New H103:  bytesusedinencodedkey__3 >= - 15
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H9:  start_byte <= 8180
<S>  New H33:  current_byte <= 8180
<S>  New H37:  current_byte <= 8179
<S>  New H38:  current_byte <= 8178
<S>  New H49:  current_byte <= 8177
<S>  New H55:  current_byte <= 8176
<S>  New H61:  current_byte <= 8175
<S>  New H67:  current_byte <= 8174
<S>  New H86:  current_byte <= 8173
<S>  New H87:  current_byte + 7 <= 8170 - fld_keylength(currentrec)
<S>  New H102:  current_byte + (16 + bytesusedinencodedkey__3) <= 8180
<S>  New H104:  bytesusedinencodedkey__3 <= 8164
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H41:  current_byte >= - 2147483649
<S>  New H50:  current_byte >= - 2147483651
<S>  New H56:  current_byte >= - 2147483652
<S>  New H62:  current_byte >= - 2147483653
<S>  New H68:  current_byte >= - 2147483654
<S>  New H88:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H42:  current_byte <= 2147483646
<S>  New H51:  current_byte <= 2147483644
<S>  New H57:  current_byte <= 2147483643
<S>  New H63:  current_byte <= 2147483642
<S>  New H69:  current_byte <= 2147483641
<S>  New H89:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H46:  true
<S>  New H52:  true
<S>  New H64:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H27:  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 H43:  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 H90:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H13:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H19:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H21:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H23:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H25:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H28:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H14:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H20:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H22:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H24:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H26:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H29:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H30:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H15:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H16:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H17:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H18:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H78:  fld_protocol(currentrec) >= 0
<S>  New H80:  fld_algorithm(currentrec) >= 0
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H79:  fld_protocol(currentrec) <= 255
<S>  New H81:  fld_algorithm(currentrec) <= 255
<S>  New H119:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords, [i___1])) <= 255)
<S>  New H120:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H34:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H39:  qname_location >= 0
<S>  New H76:  fld_flags(currentrec) >= 0
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords, [i___1])) and fld_flags(
          element(returneddnskeyrecords, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H40:  qname_location <= 65535
<S>  New H77:  fld_flags(currentrec) <= 65535
<S>  New H118:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords, [i___1])) and fld_flags(
          element(returneddnskeyrecords, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(130).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H34:  (qname_location + 49152) mod 65536 >= 0
<S>  New H35:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H72:  fld_ttlinseconds(fld_inherit(currentrec)) >= 0
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           and fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [
          i___1]))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  fld_ttlinseconds(fld_inherit(currentrec)) <= 4294967295
<S>  New H116:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [i___1])))
           and fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords, [
          i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  rr_type__internet <= fld_class(fld_inherit(currentrec))
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) and fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H75:  fld_class(fld_inherit(currentrec)) <= rr_type__hs
<S>  New H117:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) and fld_class(fld_inherit(element(
          returneddnskeyrecords, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H10:  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(166).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H10:  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(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H83:  fld_keylength(currentrec) >= 0
<S>  New H91:  bytesusedinencodedkey__3 >= 0
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H84:  fld_keylength(currentrec) <= 1365
<S>  New H92:  bytesusedinencodedkey__3 <= 1365
<S>  New H122:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords, [i___1])), [i___2])
           <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H82:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(currentrec), [i___1]) and element(fld_key(currentrec)
          , [i___1]) <= 255)
<S>  New H121:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords, [i___1])), [i___2]) <= 255))
***  Proved C2:  response_counter <= 63
     using hypotheses H7 & H115.
***  PROVED VC.


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


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


@@@@@@@@@@  VC: procedure_create_response_dnskey_25.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  true
---  Hypothesis H72 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H73 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H65).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H35).
***  Proved C1:  answer_count + numfound__1 >= dns_types__unsigned_short__first
     using hypotheses H23 & H40.
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New 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(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New C3:  numfound__1 >= 0
***  Proved C3:  numfound__1 >= 0
     using hypothesis H40.
>>>  Restructured hypothesis H71 into:
     >>>  H71:  numfound__1 < 1 or dns_types__packet_size - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) <= integer__base__last
<S>  New H71:  numfound__1 < 1 or 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H62:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 >= 
          integer__base__first
<S>  New H63:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 <= 
          integer__base__last
<S>  New H64:  12 >= system__min_int
<S>  New H65:  12 <= system__max_int
<S>  New H74:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H75:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H78:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H79:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H80:  12 >= dns_types__packet_bytes_range__first
<S>  New H81:  12 <= dns_types__packet_bytes_range__last
<S>  New H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          <= integer__base__last
<S>  New H71:  numfound__1 < 1 or 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12) <= 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 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H67:  1381 >= integer__base__first
<S>  New H68:  1381 <= integer__base__last
<S>  New H62:  1393 >= integer__base__first
<S>  New H63:  1393 <= integer__base__last
<S>  New H60:  6799 >= integer__base__first
<S>  New H61:  6799 <= integer__base__last
<S>  New H71:  numfound__1 < 1 or 6799 <= start_byte
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H64:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H65:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H69:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H70:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H67:  true
<S>  New H62:  true
<S>  New H60:  true
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H68:  true
<S>  New H63:  true
<S>  New H61:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
<S>  New H42:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H74:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H75:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H80:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H81:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H78:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H79:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H52:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H53:  true
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C2:  answer_count + numfound__1 <= 65535
     using hypotheses H1 & H33.
***  Proved C4:  numfound__1 <= 65535
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_26.  @@@@@@@@@@
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H42 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  true
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H35).
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New C1:  answer_count + numfound__1 >= 0
<S>  New C3:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New 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 & H40.
***  Proved C4:  numfound__1 <= 65535
     using hypothesis H40.
>>>  Restructured hypothesis H40 into:
     >>>  H40:  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 H43:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H44:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H47:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H48:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H49:  12 >= dns_types__packet_bytes_range__first
<S>  New H50:  12 <= dns_types__packet_bytes_range__last
<S>  New H51:  12 >= system__min_int
<S>  New H52:  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(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H52:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H43:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H44:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H50:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H47:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H48:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C1:  answer_count + numfound__1 >= 0
     using hypotheses H23 & H34.
***  Proved C3:  numfound__1 >= 0
     using hypothesis H34.
***  PROVED VC.


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


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


@@@@@@@@@@  VC: procedure_create_response_dnskey_29.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  true
---  Hypothesis H72 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H73 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H65).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H35).
-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 H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 
          dns_types__header_bits div 8) <= integer__base__last
<S>  New H71:  not (1 <= numfound__1 and start_byte < 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + dns_types__header_bits 
          div 8))
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H71 into:
     >>>  H71:  numfound__1 < 1 or 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 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 H60:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          >= integer__base__first
<S>  New H61:  8192 - (16 + rr_type__dnskey_record_type__maxdnskeylength + 12) 
          <= integer__base__last
<S>  New H62:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 >= 
          integer__base__first
<S>  New H63:  16 + rr_type__dnskey_record_type__maxdnskeylength + 12 <= 
          integer__base__last
<S>  New H64:  12 >= system__min_int
<S>  New H65:  12 <= system__max_int
<S>  New H71:  numfound__1 < 1 or 8192 - (16 + 
          rr_type__dnskey_record_type__maxdnskeylength + 12) <= start_byte
<S>  New H74:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H75:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H78:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H79:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H80:  12 >= dns_types__packet_bytes_range__first
<S>  New H81:  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 
          rr_type__dnskey_record_type__maxdnskeylength by:
          1365.
<S>  New H67:  1381 >= integer__base__first
<S>  New H68:  1381 <= integer__base__last
<S>  New H60:  6799 >= integer__base__first
<S>  New H61:  6799 <= integer__base__last
<S>  New H62:  1393 >= integer__base__first
<S>  New H63:  1393 <= integer__base__last
<S>  New H71:  numfound__1 < 1 or 6799 <= start_byte
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H64:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H65:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H69:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H70:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H67:  true
<S>  New H60:  true
<S>  New H62:  true
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H68:  true
<S>  New H61:  true
<S>  New H63:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
<S>  New H42:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H74:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H75:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H80:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H81:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H78:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H79:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New H87:  answer_count + numfound__1 >= 0
<S>  New H89:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H88:  answer_count + numfound__1 <= 65535
<S>  New H90:  numfound__1 <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H52:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H53:  true
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H75.
***  Proved C3:  answer_count + numfound__1 <= answer_count + 64
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_dnskey_30.  @@@@@@@@@@
%%%  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(returneddnskeyrecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__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__unsigned16__first <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(
          returneddnskeyrecords__1, [i___1])), [i___2]) and element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 
          character__last))
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H42 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  true
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H35).
-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 H40 into:
     >>>  H40:  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 H43:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H44:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H47:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H48:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H49:  12 >= dns_types__packet_bytes_range__first
<S>  New H50:  12 <= dns_types__packet_bytes_range__last
<S>  New H51:  12 >= system__min_int
<S>  New H52:  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(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H52:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H34:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H35:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H43:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H44:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H50:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H47:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H48:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New H56:  answer_count + numfound__1 >= 0
<S>  New H58:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H57:  answer_count + numfound__1 <= 65535
<S>  New H59:  numfound__1 <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned8__last)
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H28:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 
          unsigned_types__unsigned16__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
-S-  Applied substitution rule create_respo_rules(132).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(133).
     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(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(138).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(139).
     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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(165).
     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(166).
     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(172).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) and fld_protocol(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) and fld_algorithm(element(
          returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_flags(element(
          returneddnskeyrecords__1, [i___1])) and fld_flags(element(
          returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returneddnskeyrecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__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(returneddnskeyrecords__1, [i___1]))) 
          and fld_class(fld_inherit(element(returneddnskeyrecords__1, [i___1])))
           <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___2 
          and i___2 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) and element(fld_key(element(returneddnskeyrecords__1, [i___1])
          ), [i___2]) <= 255))
<S>  New H28:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) and 
          fld_protocol(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) and 
          fld_algorithm(element(returneddnskeyrecords__1, [i___1])) <= 255)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_flags(element(returneddnskeyrecords__1, [i___1])) and fld_flags(
          element(returneddnskeyrecords__1, [i___1])) <= 65535)
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returneddnskeyrecords__1, [i___1]
          ))) and fld_ttlinseconds(fld_inherit(element(
          returneddnskeyrecords__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(
          returneddnskeyrecords__1, [i___1]))) and fld_class(fld_inherit(
          element(returneddnskeyrecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(177).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(178).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(182).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last)
-S-  Applied substitution rule create_respo_rules(183).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) and 
          fld_keylength(element(returneddnskeyrecords__1, [i___1])) <= 1365)
-S-  Applied substitution rule create_respo_rules(187).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) 
          and element(fld_key(element(returneddnskeyrecords__1, [i___1])), [
          i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(188).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 1365 -> 0 <= element(fld_key(
          element(returneddnskeyrecords__1, [i___1])), [i___2]) and element(
          fld_key(element(returneddnskeyrecords__1, [i___1])), [i___2]) <= 255))
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H44.
***  Proved C3:  answer_count + numfound__1 <= answer_count + 64
     using hypothesis H33.
***  PROVED VC.


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


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

