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

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



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

procedure dns_table_pkg.DNS_Table_Type.InsertDNSKEYRecord






@@@@@@@@@@  VC: procedure_insertdnskeyrecord_1.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
%%%  Simplified H23 on reading formula in, to give:
     %%%  H23:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(to_lower(key), [i___1]) and element(
          to_lower(key), [i___1]) <= character__last)
---  Hypothesis H24 has been replaced by "true".  (It is already present, as 
          H23).
***  Proved C1:  hash(to_lower(key)) >= rr_type__numbucketsindextype__first
     using hypothesis H25.
***  Proved C2:  hash(to_lower(key)) <= rr_type__numbucketsindextype__last
     using hypothesis H26.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_2.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
%%%  Simplified H23 on reading formula in, to give:
     %%%  H23:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(to_lower(key), [i___1]) and element(
          to_lower(key), [i___1]) <= character__last)
---  Hypothesis H24 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as 
          H26).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified C21 on reading formula in, to give:
     %%%  C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified C22 on reading formula in, to give:
     %%%  C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
%%%  Simplified C23 on reading formula in, to give:
     %%%  C23:  true
%%%  Simplified C25 on reading formula in, to give:
     %%%  C25:  true
***  Proved C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
     using hypothesis H1.
***  Proved C2:  fld_ttlinseconds(fld_inherit(therecord)) >= 
          unsigned_types__unsigned32__first
     using hypothesis H2.
***  Proved C3:  fld_ttlinseconds(fld_inherit(therecord)) <= 
          unsigned_types__unsigned32__last
     using hypothesis H3.
***  Proved C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
     using hypothesis H4.
***  Proved C5:  fld_class(fld_inherit(therecord)) <= rr_type__classtype__last
     using hypothesis H5.
***  Proved C6:  fld_flags(therecord) >= unsigned_types__unsigned16__first
     using hypothesis H6.
***  Proved C7:  fld_flags(therecord) <= unsigned_types__unsigned16__last
     using hypothesis H7.
***  Proved C8:  fld_protocol(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H8.
***  Proved C9:  fld_protocol(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H9.
***  Proved C10:  fld_algorithm(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H10.
***  Proved C11:  fld_algorithm(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H11.
***  Proved C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
     using hypothesis H12.
***  Proved C13:  fld_keylength(therecord) >= 
          rr_type__dnskey_record_type__keylengthvaluetype__first
     using hypothesis H13.
***  Proved C14:  fld_keylength(therecord) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last
     using hypothesis H14.
***  Proved C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
     using hypothesis H15.
***  Proved C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
     using hypothesis H16.
***  Proved C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
     using hypothesis H17.
***  Proved C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
     using hypothesis H18.
***  Proved C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
     using hypothesis H19.
***  Proved C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
     using hypothesis H20.
***  Proved C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
     using hypothesis H21.
***  Proved C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
     using hypothesis H22.
***  Proved C23:  true
***  Proved C25:  true
-S-  Applied substitution rule insertdnskey_rules(72).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
<S>  New C24:  1 <= rr_type__returnedrecordsindextype__last
<S>  New C26:  1 <= rr_type__returnedrecordsindextype__last
-S-  Applied substitution rule insertdnskey_rules(73).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first <= 
          i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
<S>  New C24:  true
<S>  New C26:  true
***  Proved C24:  true
***  Proved C26:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_3.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H30 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H31 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(lower_key, [i___1]) and element(
          lower_key, [i___1]) <= character__last)
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  false
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2]))) and fld_ttlinseconds(
          fld_inherit(element(element(update(dns_table_type__dnskeyrecordtable, 
          [bucket], update(element(dns_table_type__dnskeyrecordtable, [bucket])
          , [loop__1__i], therecord)), [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_class(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned16__last))
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified C21 on reading formula in, to give:
     %%%  C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified C22 on reading formula in, to give:
     %%%  C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(update(dns_table_type__dnskeyrecordkeys, [bucket], 
          update(element(dns_table_type__dnskeyrecordkeys, [bucket]), [
          loop__1__i], lower_key)), [i___1]), [i___2]), [i___3]) and element(
          element(element(update(dns_table_type__dnskeyrecordkeys, [bucket], 
          update(element(dns_table_type__dnskeyrecordkeys, [bucket]), [
          loop__1__i], lower_key)), [i___1]), [i___2]), [i___3]) <= 
          character__last)))
***  Proved C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
     using hypothesis H1.
***  Proved C2:  fld_ttlinseconds(fld_inherit(therecord)) >= 
          unsigned_types__unsigned32__first
     using hypothesis H2.
***  Proved C3:  fld_ttlinseconds(fld_inherit(therecord)) <= 
          unsigned_types__unsigned32__last
     using hypothesis H3.
***  Proved C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
     using hypothesis H4.
***  Proved C5:  fld_class(fld_inherit(therecord)) <= rr_type__classtype__last
     using hypothesis H5.
***  Proved C6:  fld_flags(therecord) >= unsigned_types__unsigned16__first
     using hypothesis H6.
***  Proved C7:  fld_flags(therecord) <= unsigned_types__unsigned16__last
     using hypothesis H7.
***  Proved C8:  fld_protocol(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H8.
***  Proved C9:  fld_protocol(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H9.
***  Proved C10:  fld_algorithm(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H10.
***  Proved C11:  fld_algorithm(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H11.
***  Proved C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
     using hypothesis H12.
***  Proved C13:  fld_keylength(therecord) >= 
          rr_type__dnskey_record_type__keylengthvaluetype__first
     using hypothesis H13.
***  Proved C14:  fld_keylength(therecord) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last
     using hypothesis H14.
***  Proved C23:  loop__1__i + 1 >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
***  Proved C25:  loop__1__i + 1 >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
-S-  Applied substitution rule insertdnskey_rules(73).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned32__first <= 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__classtype__first <= fld_class(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          rr_type__classtype__last))
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned16__first <= fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_flags(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned16__last))
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_protocol(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_algorithm(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
<S>  New H24:  loop__1__i <= 64
<S>  New H45:  not loop__1__i = 64
<S>  New C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned32__first <= 
          fld_ttlinseconds(fld_inherit(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_ttlinseconds(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) <= unsigned_types__unsigned32__last)
          )
<S>  New C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__classtype__first <= fld_class(fld_inherit(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(update(dns_table_type__dnskeyrecordtable, 
          [bucket], update(element(dns_table_type__dnskeyrecordtable, [bucket])
          , [loop__1__i], therecord)), [i___1]), [i___2]))) <= 
          rr_type__classtype__last))
<S>  New C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned16__first <= fld_flags(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_flags(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2])) <= unsigned_types__unsigned16__last))
<S>  New C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 
          unsigned_types__unsigned8__last))
<S>  New C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 
          unsigned_types__unsigned8__last))
<S>  New C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(update(dns_table_type__dnskeyrecordkeys, [bucket], 
          update(element(dns_table_type__dnskeyrecordkeys, [bucket]), [
          loop__1__i], lower_key)), [i___1]), [i___2]), [i___3]) and element(
          element(element(update(dns_table_type__dnskeyrecordkeys, [bucket], 
          update(element(dns_table_type__dnskeyrecordkeys, [bucket]), [
          loop__1__i], lower_key)), [i___1]), [i___2]), [i___3]) <= 
          character__last)))
<S>  New C24:  loop__1__i <= 63
<S>  New C26:  loop__1__i <= 63
***  Proved C24:  loop__1__i <= 63
     using hypotheses H24 & H45.
***  Proved C26:  loop__1__i <= 63
     using hypotheses H24 & H45.
>>>  Restructured hypothesis H45 into:
     >>>  H45:  loop__1__i <> 64
-S-  Applied substitution rule insertdnskey_rules(9).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          key, [i___1]) and element(key, [i___1]) <= character__last)
<S>  New H12:  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(therecord), [i___1]) and element(fld_key(
          therecord), [i___1]) <= character__last)
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= character__last)))
<S>  New H34:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          lower_key, [i___1]) and element(lower_key, [i___1]) <= 
          character__last)
<S>  New C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          update(dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= character__last)))
-S-  Applied substitution rule insertdnskey_rules(10).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          key, [i___1]) and element(key, [i___1]) <= 255)
<S>  New H12:  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(therecord), [i___1]) and element(fld_key(
          therecord), [i___1]) <= 255)
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= 255)))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= 255)))
<S>  New H34:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          lower_key, [i___1]) and element(lower_key, [i___1]) <= 255)
<S>  New C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= 255)))
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          update(dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(19).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__first by:
          0.
<S>  New H8:  fld_protocol(therecord) >= 0
<S>  New H10:  fld_algorithm(therecord) >= 0
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
-S-  Applied substitution rule insertdnskey_rules(20).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned8__last by:
          255.
<S>  New H9:  fld_protocol(therecord) <= 255
<S>  New H11:  fld_algorithm(therecord) <= 255
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 255))
<S>  New C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 255))
-S-  Applied substitution rule insertdnskey_rules(25).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H6:  fld_flags(therecord) >= 0
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
<S>  New C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= unsigned_types__unsigned16__last))
-S-  Applied substitution rule insertdnskey_rules(26).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H7:  fld_flags(therecord) <= 65535
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= 65535))
<S>  New C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 65535))
-S-  Applied substitution rule insertdnskey_rules(31).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H2:  fld_ttlinseconds(fld_inherit(therecord)) >= 0
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
<S>  New C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_ttlinseconds(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) <= unsigned_types__unsigned32__last)
          )
-S-  Applied substitution rule insertdnskey_rules(32).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H3:  fld_ttlinseconds(fld_inherit(therecord)) <= 4294967295
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 4294967295)
          )
<S>  New C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_ttlinseconds(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) <= 4294967295))
-S-  Applied substitution rule insertdnskey_rules(37).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H4:  rr_type__internet <= fld_class(fld_inherit(therecord))
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          rr_type__classtype__last))
<S>  New C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) and fld_class(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) <= rr_type__classtype__last))
-S-  Applied substitution rule insertdnskey_rules(38).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H5:  fld_class(fld_inherit(therecord)) <= rr_type__hs
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          rr_type__hs))
<S>  New C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) and fld_class(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) <= rr_type__hs))
-S-  Applied substitution rule insertdnskey_rules(64).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(key, [i___1]) and 
          element(key, [i___1]) <= 255)
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= 255)))
<S>  New H34:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(lower_key, [i___1])
           and element(lower_key, [i___1]) <= 255)
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(element(element(
          update(dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(65).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H1:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(key, [i___1]) and element(key, [i___1]) <= 255)
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and i___3 <= 
          129 -> 0 <= element(element(element(dns_table_type__dnskeyrecordkeys, 
          [i___1]), [i___2]), [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 255)
          ))
<S>  New H34:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(lower_key, [i___1]) and element(lower_key, [i___1]) <= 255)
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and i___3 <= 
          129 -> 0 <= element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(72).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H23:  loop__1__i >= 1
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first <= 
          i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) <= 
          255)))
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_protocol(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_algorithm(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= 255))
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_flags(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_flags(element(element(dns_table_type__dnskeyrecordtable, [i___1])
          , [i___2])) <= 65535))
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 4294967295)
          )
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> rr_type__internet <= 
          fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__hs))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 129 -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= 255)))
<S>  New C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first <= 
          i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= 255)))
<S>  New C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 255))
<S>  New C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 255))
<S>  New C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_flags(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 65535))
<S>  New C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(
          fld_inherit(element(element(update(dns_table_type__dnskeyrecordtable, 
          [bucket], update(element(dns_table_type__dnskeyrecordtable, [bucket])
          , [loop__1__i], therecord)), [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) <= 4294967295))
<S>  New C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> rr_type__internet <= 
          fld_class(fld_inherit(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_class(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) <= rr_type__hs))
<S>  New C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 129 -> 0 <= element(element(element(
          update(dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(77).
     This was achieved by replacing all occurrences of 
          rr_type__numbucketsindextype__first by:
          1.
<S>  New H27:  bucket >= 1
<S>  New H21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= 255)))
<S>  New H18:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New H19:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New H17:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= 65535))
<S>  New H15:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 4294967295)
          )
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          rr_type__hs))
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and 
          i___3 <= 129 -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= 255)))
<S>  New C21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New C20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> 0 <= element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= 255)))
<S>  New C18:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_protocol(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 255))
<S>  New C19:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_algorithm(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 255))
<S>  New C17:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 65535))
<S>  New C15:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(fld_inherit(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2]))) and fld_ttlinseconds(fld_inherit(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2]))) <= 4294967295))
<S>  New C16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> rr_type__internet <= fld_class(fld_inherit(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(update(dns_table_type__dnskeyrecordtable, 
          [bucket], update(element(dns_table_type__dnskeyrecordtable, [bucket])
          , [loop__1__i], therecord)), [i___1]), [i___2]))) <= rr_type__hs))
<S>  New C22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__numbucketsindextype__last -> for_all(i___2 : integer, 1 <= 
          i___2 and i___2 <= 64 -> for_all(i___3 : integer, 1 <= i___3 and 
          i___3 <= 129 -> 0 <= element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(78).
     This was achieved by replacing all occurrences of 
          rr_type__numbucketsindextype__last by:
          64.
<S>  New H28:  bucket <= 64
<S>  New H21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first <= 
          i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) <= 
          255)))
<S>  New H18:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_protocol(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= 255))
<S>  New H19:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_algorithm(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= 255))
<S>  New H17:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_flags(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_flags(element(element(dns_table_type__dnskeyrecordtable, [i___1])
          , [i___2])) <= 65535))
<S>  New H15:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 4294967295)
          )
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> rr_type__internet <= 
          fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__hs))
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 129 -> 0 <= element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) and 
          element(element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [
          i___2]), [i___3]) <= 255)))
<S>  New C21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) and fld_keylength(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New C20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first <= 
          i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= 255)))
<S>  New C18:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_protocol(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 255))
<S>  New C19:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_algorithm(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 255))
<S>  New C17:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_flags(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2])) and fld_flags(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])) <= 65535))
<S>  New C15:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_ttlinseconds(
          fld_inherit(element(element(update(dns_table_type__dnskeyrecordtable, 
          [bucket], update(element(dns_table_type__dnskeyrecordtable, [bucket])
          , [loop__1__i], therecord)), [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) <= 4294967295))
<S>  New C16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> rr_type__internet <= 
          fld_class(fld_inherit(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) and fld_class(fld_inherit(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2]))) <= rr_type__hs))
<S>  New C22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 129 -> 0 <= element(element(element(
          update(dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) and element(element(element(update(
          dns_table_type__dnskeyrecordkeys, [bucket], update(element(
          dns_table_type__dnskeyrecordkeys, [bucket]), [loop__1__i], lower_key))
          , [i___1]), [i___2]), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(82).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__first by:
          0.
<S>  New H13:  fld_keylength(therecord) >= 0
<S>  New H21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_keylength(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_keylength(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New C21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_keylength(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_keylength(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
-S-  Applied substitution rule insertdnskey_rules(83).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__keylengthvaluetype__last by:
          1365.
<S>  New H14:  fld_keylength(therecord) <= 1365
<S>  New H21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_keylength(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_keylength(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= 1365))
<S>  New C21:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> 0 <= fld_keylength(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) and fld_keylength(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])) <= 1365))
-S-  Applied substitution rule insertdnskey_rules(87).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first by:
          1.
<S>  New H12:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(therecord), [i___1]) and element(fld_key(therecord), [
          i___1]) <= 255)
<S>  New H20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) <= 
          255)))
<S>  New C20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 0 <= 
          element(fld_key(element(element(update(
          dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) and element(fld_key(element(element(
          update(dns_table_type__dnskeyrecordtable, [bucket], update(element(
          dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], therecord)
          ), [i___1]), [i___2])), [i___3]) <= 255)))
-S-  Applied substitution rule insertdnskey_rules(88).
     This was achieved by replacing all occurrences of 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last by:
          1365.
<S>  New H12:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 1365 -> 0 <= 
          element(fld_key(therecord), [i___1]) and element(fld_key(therecord), [
          i___1]) <= 255)
<S>  New H20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 1365 -> 0 <= element(fld_key(element(
          element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [
          i___3]) and element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) <= 
          255)))
<S>  New C20:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 64 -> for_all(i___3 : 
          integer, 1 <= i___3 and i___3 <= 1365 -> 0 <= element(fld_key(element(
          element(update(dns_table_type__dnskeyrecordtable, [bucket], update(
          element(dns_table_type__dnskeyrecordtable, [bucket]), [loop__1__i], 
          therecord)), [i___1]), [i___2])), [i___3]) and element(fld_key(
          element(element(update(dns_table_type__dnskeyrecordtable, [bucket], 
          update(element(dns_table_type__dnskeyrecordtable, [bucket]), [
          loop__1__i], therecord)), [i___1]), [i___2])), [i___3]) <= 255)))
%%%  Hypotheses H24 & H45 together imply that
          loop__1__i < 64.
     H24 & H45 have therefore been deleted and a new H46 added to this effect.
###  Established a contradiction [false-hypothesis] using hypothesis H44.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_4.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H30 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H31 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified C21 on reading formula in, to give:
     %%%  C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified C22 on reading formula in, to give:
     %%%  C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
***  Proved C1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
     using hypothesis H1.
***  Proved C2:  fld_ttlinseconds(fld_inherit(therecord)) >= 
          unsigned_types__unsigned32__first
     using hypothesis H2.
***  Proved C3:  fld_ttlinseconds(fld_inherit(therecord)) <= 
          unsigned_types__unsigned32__last
     using hypothesis H3.
***  Proved C4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
     using hypothesis H4.
***  Proved C5:  fld_class(fld_inherit(therecord)) <= rr_type__classtype__last
     using hypothesis H5.
***  Proved C6:  fld_flags(therecord) >= unsigned_types__unsigned16__first
     using hypothesis H6.
***  Proved C7:  fld_flags(therecord) <= unsigned_types__unsigned16__last
     using hypothesis H7.
***  Proved C8:  fld_protocol(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H8.
***  Proved C9:  fld_protocol(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H9.
***  Proved C10:  fld_algorithm(therecord) >= unsigned_types__unsigned8__first
     using hypothesis H10.
***  Proved C11:  fld_algorithm(therecord) <= unsigned_types__unsigned8__last
     using hypothesis H11.
***  Proved C12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
     using hypothesis H12.
***  Proved C13:  fld_keylength(therecord) >= 
          rr_type__dnskey_record_type__keylengthvaluetype__first
     using hypothesis H13.
***  Proved C14:  fld_keylength(therecord) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last
     using hypothesis H14.
***  Proved C15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
     using hypothesis H15.
***  Proved C16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
     using hypothesis H16.
***  Proved C17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
     using hypothesis H17.
***  Proved C18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
     using hypothesis H18.
***  Proved C19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
     using hypothesis H19.
***  Proved C20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
     using hypothesis H20.
***  Proved C21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
     using hypothesis H21.
***  Proved C22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first 
          <= i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
     using hypothesis H22.
***  Proved C23:  loop__1__i + 1 >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
***  Proved C25:  loop__1__i + 1 >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
-S-  Applied substitution rule insertdnskey_rules(73).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned32__first <= 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and 
          fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
<S>  New H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> rr_type__classtype__first <= fld_class(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          rr_type__classtype__last))
<S>  New H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned16__first <= fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_flags(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned16__last))
<S>  New H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_protocol(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> unsigned_types__unsigned8__first <= fld_algorithm(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           and fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, 
          [i___1]), [i___2])) <= unsigned_types__unsigned8__last))
<S>  New H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__dnskey_record_type__dnskeystringtypeindex__first <= i___3 
          and i___3 <= rr_type__dnskey_record_type__dnskeystringtypeindex__last 
          -> character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
<S>  New H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
<S>  New H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= 64 -> for_all(i___3 : integer, 
          rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
<S>  New H24:  loop__1__i <= 64
<S>  New H36:  not loop__1__i = 64
<S>  New C24:  loop__1__i <= 63
<S>  New C26:  loop__1__i <= 63
***  Proved C24:  loop__1__i <= 63
     using hypotheses H24 & H36.
***  Proved C26:  loop__1__i <= 63
     using hypotheses H24 & H36.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_5.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
***  Proved C1:  loop__1__i >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
***  Proved C2:  loop__1__i <= rr_type__returnedrecordsindextype__last
     using hypothesis H24.
***  Proved C3:  bucket >= rr_type__numbucketsindextype__first
     using hypothesis H27.
***  Proved C4:  bucket <= rr_type__numbucketsindextype__last
     using hypothesis H28.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_6.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H30 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H31 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(lower_key, [i___1]) and element(
          lower_key, [i___1]) <= character__last)
***  Proved C1:  loop__1__i >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
***  Proved C2:  loop__1__i <= rr_type__returnedrecordsindextype__last
     using hypothesis H24.
***  Proved C3:  bucket >= rr_type__numbucketsindextype__first
     using hypothesis H27.
***  Proved C4:  bucket <= rr_type__numbucketsindextype__last
     using hypothesis H28.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_7.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(key, [i___1]) and element(key, [i___1]) 
          <= character__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  rr_type__classtype__first <= fld_class(fld_inherit(therecord))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  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(therecord), [i___1]) and 
          element(fld_key(therecord), [i___1]) <= character__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
          ) and fld_ttlinseconds(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) <= 
          unsigned_types__unsigned32__last))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))) and fld_class(
          fld_inherit(element(element(dns_table_type__dnskeyrecordtable, [i___1]
          ), [i___2]))) <= rr_type__classtype__last))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned16__first <= fld_flags(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and fld_flags(
          element(element(dns_table_type__dnskeyrecordtable, [i___1]), [i___2]))
           <= unsigned_types__unsigned16__last))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_protocol(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_protocol(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned8__first <= fld_algorithm(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) and 
          fld_algorithm(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) <= unsigned_types__unsigned8__last))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__dnskey_record_type__dnskeystringtypeindex__first 
          <= i___3 and i___3 <= 
          rr_type__dnskey_record_type__dnskeystringtypeindex__last -> 
          character__first <= element(fld_key(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])), [i___3]) and 
          element(fld_key(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])), [i___3]) <= character__last)))
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> 
          rr_type__dnskey_record_type__keylengthvaluetype__first <= 
          fld_keylength(element(element(dns_table_type__dnskeyrecordtable, [
          i___1]), [i___2])) and fld_keylength(element(element(
          dns_table_type__dnskeyrecordtable, [i___1]), [i___2])) <= 
          rr_type__dnskey_record_type__keylengthvaluetype__last))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, rr_type__numbucketsindextype__first <= 
          i___1 and i___1 <= rr_type__numbucketsindextype__last -> for_all(
          i___2 : integer, rr_type__returnedrecordsindextype__first <= i___2 
          and i___2 <= rr_type__returnedrecordsindextype__last -> for_all(i___3 
          : integer, rr_type__wirestringtypeindex__first <= i___3 and i___3 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          element(element(dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), 
          [i___3]) and element(element(element(
          dns_table_type__dnskeyrecordkeys, [i___1]), [i___2]), [i___3]) <= 
          character__last)))
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H30 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H31 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(lower_key, [i___1]) and element(
          lower_key, [i___1]) <= character__last)
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
***  Proved C1:  loop__1__i >= rr_type__returnedrecordsindextype__first
     using hypothesis H23.
***  Proved C2:  loop__1__i <= rr_type__returnedrecordsindextype__last
     using hypothesis H24.
***  Proved C3:  bucket >= rr_type__numbucketsindextype__first
     using hypothesis H27.
***  Proved C4:  bucket <= rr_type__numbucketsindextype__last
     using hypothesis H28.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_8.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_9.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_10.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_11.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_12.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_insertdnskeyrecord_13.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.

