ironsides/process_dns_request/get_query_name_type_class.slg

15327 lines
800 KiB
Plaintext

*****************************************************************************
Semantic Analysis of SPARK Text
Examiner GPL Edition
*****************************************************************************
SPARK Simplifier GPL 2011
Copyright (C) 2011 Altran Praxis Limited, Bath, U.K.
procedure Process_Dns_Request.Get_Query_Name_Type_Class
@@@@@@@@@@ VC: procedure_get_query_name_type_class_1. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_2. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New C2: input_bytes >= - 2147483643
<S> New C6: dns_types__packet_bytes_range__first >= - 2147483648
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New C3: input_bytes <= 2147483652
<S> New C7: dns_types__packet_bytes_range__first <= 2147483647
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New C4: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New C5: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New C1: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New C6: true
<S> New C7: true
*** Proved C3: input_bytes <= 2147483652
using hypothesis H2.
*** Proved C5: input_bytes <= 2147483652
using hypothesis H2.
*** Proved C6: true
*** Proved C7: true
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
*** Proved C2: input_bytes >= - 2147483643
using hypothesis H1.
*** Proved C4: input_bytes >= - 2147483643
using hypothesis H1.
*** Proved C1: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_3. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
*** Proved C1: byte + 1 <= input_bytes - 5 -> byte + 1 >=
dns_types__packet_bytes_range__first and byte + 1 <=
dns_types__packet_bytes_range__last
using hypotheses H42 & H43.
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New C2: input_bytes >= - 2147483643
<S> New C6: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New C3: input_bytes <= 2147483652
<S> New C7: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New C4: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New C5: input_bytes <= 2147483652
*** Proved C3: input_bytes <= 2147483652
using hypothesis H31.
*** Proved C7: byte <= 2147483646
using hypotheses H4 & H31.
*** Proved C5: input_bytes <= 2147483652
using hypothesis H31.
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
*** Proved C2: input_bytes >= - 2147483643
using hypothesis H30.
*** Proved C6: byte >= - 2147483649
using hypothesis H3.
*** Proved C4: input_bytes >= - 2147483643
using hypothesis H30.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_4. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
%%% Simplified C1 on reading formula in, to give:
%%% C1: true
%%% Simplified C3 on reading formula in, to give:
%%% C3: true
%%% Simplified C5 on reading formula in, to give:
%%% C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified C14 on reading formula in, to give:
%%% C14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified C23 on reading formula in, to give:
%%% C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
*** Proved C1: true
*** Proved C2: rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last
using hypothesis H39.
*** Proved C3: true
*** Proved C4: dns_types__packet_bytes_range__first <= input_bytes - 5
using hypothesis H37.
*** Proved C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first
<= i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
using hypothesis H3.
*** Proved C6: fld_arcount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H4.
*** Proved C7: fld_arcount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H5.
*** Proved C8: fld_nscount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H6.
*** Proved C9: fld_nscount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H7.
*** Proved C10: fld_ancount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H8.
*** Proved C11: fld_ancount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H9.
*** Proved C12: fld_qdcount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H10.
*** Proved C13: fld_qdcount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H11.
*** Proved C14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
using hypothesis H12.
*** Proved C15: fld_rcode(fld_header(input_packet)) <=
dns_types__response_code__last
using hypothesis H13.
*** Proved C16: true
*** Proved C17: true
*** Proved C18: true
*** Proved C19: true
*** Proved C20: true
*** Proved C21: true
*** Proved C22: true
*** Proved C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
using hypothesis H21.
*** Proved C24: fld_opcode(fld_header(input_packet)) <=
dns_types__opcode_type__last
using hypothesis H22.
*** Proved C25: true
*** Proved C26: fld_messageid(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H24.
*** Proved C27: fld_messageid(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H25.
*** Proved C28: input_bytes >= dns_types__packet_length_range__first
using hypothesis H26.
*** Proved C29: input_bytes <= dns_types__packet_length_range__last
using hypothesis H27.
*** Proved C30: input_bytes >= dns_types__header_bits div 8 + 1
using hypothesis H1.
*** Proved C31: input_bytes < 1000
using hypothesis H2.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_5. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
%%% Simplified C5 on reading formula in, to give:
%%% C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified C14 on reading formula in, to give:
%%% C14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified C23 on reading formula in, to give:
%%% C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
*** Proved C1: i + 1 >= rr_type__wirestringtypeindex__first
using hypothesis H1.
*** Proved C2: i + 1 < rr_type__wirestringtypeindex__last
using hypothesis H53.
*** Proved C3: byte + 1 >= dns_types__packet_bytes_range__first
using hypothesis H42.
*** Proved C4: byte + 1 <= input_bytes - 5
using hypothesis H51.
*** Proved C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first
<= i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
using hypothesis H5.
*** Proved C6: fld_arcount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H6.
*** Proved C7: fld_arcount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H7.
*** Proved C8: fld_nscount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H8.
*** Proved C9: fld_nscount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H9.
*** Proved C10: fld_ancount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H10.
*** Proved C11: fld_ancount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H11.
*** Proved C12: fld_qdcount(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H12.
*** Proved C13: fld_qdcount(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H13.
*** Proved C14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
using hypothesis H14.
*** Proved C15: fld_rcode(fld_header(input_packet)) <=
dns_types__response_code__last
using hypothesis H15.
*** Proved C16: true
*** Proved C17: true
*** Proved C18: true
*** Proved C19: true
*** Proved C20: true
*** Proved C21: true
*** Proved C22: true
*** Proved C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
using hypothesis H23.
*** Proved C24: fld_opcode(fld_header(input_packet)) <=
dns_types__opcode_type__last
using hypothesis H24.
*** Proved C25: true
*** Proved C26: fld_messageid(fld_header(input_packet)) >=
dns_types__unsigned_short__first
using hypothesis H26.
*** Proved C27: fld_messageid(fld_header(input_packet)) <=
dns_types__unsigned_short__last
using hypothesis H27.
*** Proved C28: input_bytes >= dns_types__packet_length_range__first
using hypothesis H28.
*** Proved C29: input_bytes <= dns_types__packet_length_range__last
using hypothesis H29.
*** Proved C30: input_bytes >= dns_types__header_bits div 8 + 1
using hypothesis H30.
*** Proved C31: input_bytes < 1000
using hypothesis H31.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_6. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
*** Proved C5: byte >= dns_types__packet_bytes_range__first
using hypothesis H3.
*** Proved C7: i >= rr_type__wirestringtypeindex__first
using hypothesis H1.
*** Proved C8: i <= rr_type__wirestringtypeindex__last
using hypothesis H2.
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New C1: element(fld_bytes(input_packet), [byte]) >= 0
<S> New C3: element(fld_bytes(input_packet), [byte]) >= 0
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New C2: element(fld_bytes(input_packet), [byte]) <= 255
<S> New C4: element(fld_bytes(input_packet), [byte]) <= 255
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New C6: byte <= 8180
*** Proved C6: byte <= 8180
using hypotheses H4 & H31.
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
*** Proved C1: element(fld_bytes(input_packet), [byte]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C3: element(fld_bytes(input_packet), [byte]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C2: element(fld_bytes(input_packet), [byte]) <= 255
using hypotheses H3, H4, H5 & H31.
*** Proved C4: element(fld_bytes(input_packet), [byte]) <= 255
using hypotheses H3, H4, H5 & H31.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_7. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New C1: i >= - 1
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New C2: i <= 2147483646
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
*** Proved C1: i >= - 1
using hypothesis H1.
*** Proved C2: i <= 2147483646
using hypothesis H2.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_8. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
*** Proved C1: byte + 1 >= dns_types__packet_bytes_range__first
using hypothesis H3.
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New H37: byte <= 8180
<S> New C2: byte <= 8179
*** Proved C2: byte <= 8179
using hypotheses H4 & H31.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_9. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
%%% Simplified C5 on reading formula in, to give:
%%% C5: true
*** Proved C2: 0 <= character__last
using hypothesis H29.
*** Proved C4: 0 <= character__last
using hypothesis H29.
*** Proved C5: true
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New C1: true
<S> New C3: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: not (dns_types__packet_bytes_range__first <= input_bytes - 5 and
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) <> 0 and 1 <
rr_type__wirestringtypeindex__last)
<S> New C6: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: not (dns_types__packet_bytes_range__first <= input_bytes - 5 and
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) <> 0)
<S> New C6: true
*** Proved C1: true
*** Proved C3: true
*** Proved C6: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_10. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
*** Proved C5: i + 1 >= rr_type__wirestringtypeindex__first
using hypothesis H1.
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New C1: true
<S> New C3: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New C2: true
<S> New C4: true
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: not (byte + 1 <= input_bytes - 5 and element(fld_bytes(
input_packet), [byte + 1]) <> 0 and i < 128)
<S> New C6: i <= 128
*** Proved C1: true
*** Proved C3: true
*** Proved C2: true
*** Proved C4: true
*** Proved C6: i <= 128
using hypothesis H2.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_11. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
*** Proved C5: dns_types__packet_bytes_range__first + 2 >=
dns_types__packet_bytes_range__first
*** Proved C13: dns_types__packet_bytes_range__first + 1 >=
dns_types__packet_bytes_range__first
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New C1: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New C3: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New C11: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New C2: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New C4: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <= 8180
<S> New C6: dns_types__packet_bytes_range__first <= 8178
<S> New C14: dns_types__packet_bytes_range__first <= 8179
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New C7: 3 >= dns_types__packet_bytes_range__base__first
<S> New C8: 3 <= dns_types__packet_bytes_range__base__last
<S> New C9: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New C10: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New C15: 2 >= dns_types__packet_bytes_range__base__first
<S> New C16: 2 <= dns_types__packet_bytes_range__base__last
<S> New C1: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New C3: element(fld_bytes(input_packet), [3]) >= 0
<S> New C11: element(fld_bytes(input_packet), [2]) >= 0
<S> New C2: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New C4: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New C6: true
<S> New C14: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New C7: true
<S> New C15: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New C8: true
<S> New C16: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New C9: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New C10: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
*** Proved C6: true
*** Proved C14: true
*** Proved C7: true
*** Proved C15: true
*** Proved C8: true
*** Proved C16: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C3: element(fld_bytes(input_packet), [3]) >= 0
using hypothesis H3.
*** Proved C11: element(fld_bytes(input_packet), [2]) >= 0
using hypothesis H3.
*** Proved C4: element(fld_bytes(input_packet), [3]) <= 2147483647
using hypothesis H3.
*** Proved C12: element(fld_bytes(input_packet), [2]) <= 2147483647
using hypothesis H3.
*** Proved C9: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
using hypothesis H3.
*** Proved C10: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
using hypothesis H3.
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
*** Proved C1: element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3]) >= 0
using hypothesis H3.
*** Proved C2: element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3]) <= 2147483647
using hypothesis H3.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_12. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified C1 on reading formula in, to give:
%%% C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified C3 on reading formula in, to give:
%%% C3: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified C4 on reading formula in, to give:
%%% C4: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified C5 on reading formula in, to give:
%%% C5: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified C6 on reading formula in, to give:
%%% C6: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified C7 on reading formula in, to give:
%%% C7: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified C8 on reading formula in, to give:
%%% C8: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified C9 on reading formula in, to give:
%%% C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified C10 on reading formula in, to give:
%%% C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified C11 on reading formula in, to give:
%%% C11: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified C12 on reading formula in, to give:
%%% C12: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified C13 on reading formula in, to give:
%%% C13: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified C14 on reading formula in, to give:
%%% C14: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified C15 on reading formula in, to give:
%%% C15: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified C16 on reading formula in, to give:
%%% C16: byte + 2 <= dns_types__packet_bytes_range__base__last
*** Proved C5: byte + 3 >= dns_types__packet_bytes_range__first
using hypothesis H3.
*** Proved C13: byte + 2 >= dns_types__packet_bytes_range__first
using hypothesis H3.
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New C3: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New C11: element(fld_bytes(input_packet), [byte + 2]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New C4: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H44: byte + 1 <= input_bytes - 5 -> byte + 1 >=
dns_types__packet_bytes_range__first and byte <= 8179
<S> New C6: byte <= 8177
<S> New C14: byte <= 8178
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New C7: byte >= - 2147483651
<S> New C15: byte >= - 2147483650
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New C8: byte <= 2147483644
<S> New C16: byte <= 2147483645
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
*** Proved C6: byte <= 8177
using hypotheses H4 & H31.
*** Proved C14: byte <= 8178
using hypotheses H4 & H31.
*** Proved C8: byte <= 2147483644
using hypothesis H37.
*** Proved C16: byte <= 2147483645
using hypothesis H37.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C3: element(fld_bytes(input_packet), [byte + 3]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C11: element(fld_bytes(input_packet), [byte + 2]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C4: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** Proved C12: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** Proved C7: byte >= - 2147483651
using hypothesis H49.
*** Proved C15: byte >= - 2147483650
using hypothesis H49.
*** Proved C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
using hypotheses H3, H4, H5 & H31.
*** Proved C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
2147483647
using hypotheses H3, H4, H5 & H31.
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H4 & H31).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H4 & H31).
--- Eliminated hypothesis H56 (redundant, given H1).
*** Proved C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_13. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
*** Proved C5: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
*** Proved C7: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__base__first
using hypothesis H50.
*** Proved C13: dns_types__packet_bytes_range__first + 3 >=
dns_types__packet_bytes_range__first
*** Proved C15: dns_types__packet_bytes_range__first + 3 >=
dns_types__packet_bytes_range__base__first
using hypothesis H50.
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H46: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H54: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
<S> New C1: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S> New C3: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) >= 0
<S> New C11: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New H47: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S> New C2: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
2147483647
<S> New C4: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <= 8180
<S> New H49: dns_types__packet_bytes_range__first <= 8178
<S> New H57: dns_types__packet_bytes_range__first <= 8179
<S> New C6: dns_types__packet_bytes_range__first <= 8176
<S> New C14: dns_types__packet_bytes_range__first <= 8177
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H48: true
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H56: true
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New C8: 5 <= dns_types__packet_bytes_range__base__last
<S> New C9: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New C10: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New C16: 4 <= dns_types__packet_bytes_range__base__last
<S> New C1: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New C3: element(fld_bytes(input_packet), [5]) >= 0
<S> New C11: element(fld_bytes(input_packet), [4]) >= 0
<S> New C2: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New C4: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [4]) <= 2147483647
<S> New C6: true
<S> New C14: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New C8: true
<S> New C16: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New C9: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New C10: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
*** Proved C6: true
*** Proved C14: true
*** Proved C8: true
*** Proved C16: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C3: element(fld_bytes(input_packet), [5]) >= 0
using hypothesis H3.
*** Proved C11: element(fld_bytes(input_packet), [4]) >= 0
using hypothesis H3.
*** Proved C4: element(fld_bytes(input_packet), [5]) <= 2147483647
using hypothesis H3.
*** Proved C12: element(fld_bytes(input_packet), [4]) <= 2147483647
using hypothesis H3.
*** Proved C9: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
using hypothesis H3.
*** Proved C10: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
using hypothesis H3.
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H48 (true-hypothesis).
--- Eliminated hypothesis H49 (true-hypothesis).
--- Eliminated hypothesis H51 (true-hypothesis).
--- Eliminated hypothesis H56 (true-hypothesis).
--- Eliminated hypothesis H57 (true-hypothesis).
--- Eliminated hypothesis H59 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H50 (true-hypothesis).
--- Eliminated hypothesis H58 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
--- Eliminated hypothesis H52 (redundant, given H54).
--- Eliminated hypothesis H55 (redundant, given H53).
*** Proved C1: element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5]) >= 0
using hypothesis H3.
*** Proved C2: element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5]) <= 2147483647
using hypothesis H3.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_14. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified C1 on reading formula in, to give:
%%% C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified C3 on reading formula in, to give:
%%% C3: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified C4 on reading formula in, to give:
%%% C4: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified C5 on reading formula in, to give:
%%% C5: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C6 on reading formula in, to give:
%%% C6: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified C7 on reading formula in, to give:
%%% C7: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified C8 on reading formula in, to give:
%%% C8: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified C9 on reading formula in, to give:
%%% C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified C10 on reading formula in, to give:
%%% C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified C11 on reading formula in, to give:
%%% C11: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified C12 on reading formula in, to give:
%%% C12: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified C13 on reading formula in, to give:
%%% C13: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified C14 on reading formula in, to give:
%%% C14: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified C15 on reading formula in, to give:
%%% C15: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified C16 on reading formula in, to give:
%%% C16: byte + 4 <= dns_types__packet_bytes_range__base__last
*** Proved C5: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H3.
*** Proved C7: byte + 5 >= dns_types__packet_bytes_range__base__first
using hypothesis H64.
*** Proved C13: byte + 4 >= dns_types__packet_bytes_range__first
using hypothesis H3.
*** Proved C15: byte + 4 >= dns_types__packet_bytes_range__base__first
using hypothesis H64.
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New C3: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New C11: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New C4: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New C12: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
, [i___1]) <= dns_types__byte__last)
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H44: byte + 1 <= input_bytes - 5 -> byte + 1 >=
dns_types__packet_bytes_range__first and byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New C6: byte <= 8175
<S> New C14: byte <= 8176
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New C8: byte <= 2147483642
<S> New C16: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
*** Proved C6: byte <= 8175
using hypotheses H4 & H31.
*** Proved C14: byte <= 8176
using hypotheses H4 & H31.
*** Proved C8: byte <= 2147483642
using hypothesis H37.
*** Proved C16: byte <= 2147483643
using hypothesis H37.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C3: element(fld_bytes(input_packet), [byte + 5]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C11: element(fld_bytes(input_packet), [byte + 4]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C4: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** Proved C12: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** Proved C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
using hypotheses H3, H4, H5 & H31.
*** Proved C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
2147483647
using hypotheses H3, H4, H5 & H31.
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H63).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H63).
--- Eliminated hypothesis H56 (redundant, given H1).
--- Eliminated hypothesis H62 (redundant, given H3).
--- Eliminated hypothesis H63 (redundant, given H4 & H31).
--- Eliminated hypothesis H64 (redundant, given H3).
--- Eliminated hypothesis H65 (redundant, given H71).
--- Eliminated hypothesis H66 (redundant, given H68).
--- Eliminated hypothesis H69 (redundant, given H67).
--- Eliminated hypothesis H70 (redundant, given H3).
--- Eliminated hypothesis H71 (redundant, given H4 & H31).
--- Eliminated hypothesis H72 (redundant, given H3).
--- Eliminated hypothesis H73 (redundant, given H4 & H31).
*** Proved C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
using hypotheses H3, H4, H5 & H31.
*** Proved C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
using hypotheses H3, H4, H5 & H31.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_15. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
type_to_natural(dns_types__a)
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
type_to_natural(dns_types__unimplemented)
<S> New C2: to_type(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2])) <=
dns_types__unimplemented
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H46: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H54: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
<S> New H60: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H62: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H70: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New H47: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
2147483647
<S> New H63: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H35: true
<S> New H36: true
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
<S> New C2: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H43: true
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H48 (true-hypothesis).
--- Eliminated hypothesis H56 (true-hypothesis).
--- Eliminated hypothesis H64 (true-hypothesis).
--- Eliminated hypothesis H72 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H49 (true-hypothesis).
--- Eliminated hypothesis H57 (true-hypothesis).
--- Eliminated hypothesis H65 (true-hypothesis).
--- Eliminated hypothesis H73 (true-hypothesis).
--- Eliminated hypothesis H50 (true-hypothesis).
--- Eliminated hypothesis H58 (true-hypothesis).
--- Eliminated hypothesis H66 (true-hypothesis).
--- Eliminated hypothesis H74 (true-hypothesis).
--- Eliminated hypothesis H51 (true-hypothesis).
--- Eliminated hypothesis H59 (true-hypothesis).
--- Eliminated hypothesis H67 (true-hypothesis).
--- Eliminated hypothesis H75 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
--- Eliminated hypothesis H52 (redundant, given H54).
--- Eliminated hypothesis H55 (redundant, given H53).
--- Eliminated hypothesis H68 (redundant, given H70).
--- Eliminated hypothesis H71 (redundant, given H69).
+++ New H78: integer__size >= 0
+++ New H79: character__size >= 0
+++ New H80: natural__size >= 0
+++ New H81: dns_types__packet_length_range__size >= 0
+++ New H82: dns_types__packet_bytes_range__size >= 0
+++ New H83: dns_types__dns_packet__size >= 0
+++ New H84: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_16. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified C2 on reading formula in, to give:
%%% C2: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New C2: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H63).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H63).
--- Eliminated hypothesis H56 (redundant, given H1).
--- Eliminated hypothesis H62 (redundant, given H3).
--- Eliminated hypothesis H63 (redundant, given H79).
--- Eliminated hypothesis H64 (redundant, given H3).
--- Eliminated hypothesis H65 (redundant, given H71).
--- Eliminated hypothesis H66 (redundant, given H68).
--- Eliminated hypothesis H69 (redundant, given H67).
--- Eliminated hypothesis H70 (redundant, given H3).
--- Eliminated hypothesis H71 (redundant, given H79).
--- Eliminated hypothesis H72 (redundant, given H3).
--- Eliminated hypothesis H73 (redundant, given H79).
--- Eliminated hypothesis H78 (redundant, given H3).
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
--- Eliminated hypothesis H80 (redundant, given H3).
--- Eliminated hypothesis H81 (redundant, given H87).
--- Eliminated hypothesis H82 (redundant, given H84).
--- Eliminated hypothesis H85 (redundant, given H83).
--- Eliminated hypothesis H86 (redundant, given H3).
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
--- Eliminated hypothesis H88 (redundant, given H3).
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
+++ New H92: integer__size >= 0
+++ New H93: character__size >= 0
+++ New H94: natural__size >= 0
+++ New H95: dns_types__packet_length_range__size >= 0
+++ New H96: dns_types__packet_bytes_range__size >= 0
+++ New H97: dns_types__dns_packet__size >= 0
+++ New H98: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_17. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2])) <=
dns_types__unimplemented
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_18. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_19. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
type_to_natural(dns_types__query_type__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H76: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
type_to_natural(dns_types__unimplemented))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_20. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256
+ element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256
+ element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_21. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H84: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H46: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H54: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
<S> New H60: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H62: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H70: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New H47: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
2147483647
<S> New H63: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H35: true
<S> New H36: true
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H81: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H82: true
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H43: true
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H48 (true-hypothesis).
--- Eliminated hypothesis H56 (true-hypothesis).
--- Eliminated hypothesis H64 (true-hypothesis).
--- Eliminated hypothesis H72 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H49 (true-hypothesis).
--- Eliminated hypothesis H57 (true-hypothesis).
--- Eliminated hypothesis H65 (true-hypothesis).
--- Eliminated hypothesis H73 (true-hypothesis).
--- Eliminated hypothesis H50 (true-hypothesis).
--- Eliminated hypothesis H58 (true-hypothesis).
--- Eliminated hypothesis H66 (true-hypothesis).
--- Eliminated hypothesis H74 (true-hypothesis).
--- Eliminated hypothesis H51 (true-hypothesis).
--- Eliminated hypothesis H59 (true-hypothesis).
--- Eliminated hypothesis H67 (true-hypothesis).
--- Eliminated hypothesis H75 (true-hypothesis).
--- Eliminated hypothesis H81 (true-hypothesis).
--- Eliminated hypothesis H82 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
--- Eliminated hypothesis H52 (redundant, given H54).
--- Eliminated hypothesis H55 (redundant, given H53).
--- Eliminated hypothesis H68 (redundant, given H70).
--- Eliminated hypothesis H71 (redundant, given H69).
+++ New H85: integer__size >= 0
+++ New H86: character__size >= 0
+++ New H87: natural__size >= 0
+++ New H88: dns_types__packet_length_range__size >= 0
+++ New H89: dns_types__packet_bytes_range__size >= 0
+++ New H90: dns_types__dns_packet__size >= 0
+++ New H91: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_22. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H82: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H46: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H54: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
<S> New H60: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H62: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H70: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New H47: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
2147483647
<S> New H63: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H35: true
<S> New H36: true
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H43: true
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H48 (true-hypothesis).
--- Eliminated hypothesis H56 (true-hypothesis).
--- Eliminated hypothesis H64 (true-hypothesis).
--- Eliminated hypothesis H72 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H49 (true-hypothesis).
--- Eliminated hypothesis H57 (true-hypothesis).
--- Eliminated hypothesis H65 (true-hypothesis).
--- Eliminated hypothesis H73 (true-hypothesis).
--- Eliminated hypothesis H50 (true-hypothesis).
--- Eliminated hypothesis H58 (true-hypothesis).
--- Eliminated hypothesis H66 (true-hypothesis).
--- Eliminated hypothesis H74 (true-hypothesis).
--- Eliminated hypothesis H51 (true-hypothesis).
--- Eliminated hypothesis H59 (true-hypothesis).
--- Eliminated hypothesis H67 (true-hypothesis).
--- Eliminated hypothesis H75 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
--- Eliminated hypothesis H52 (redundant, given H54).
--- Eliminated hypothesis H55 (redundant, given H53).
--- Eliminated hypothesis H68 (redundant, given H70).
--- Eliminated hypothesis H71 (redundant, given H69).
+++ New H83: integer__size >= 0
+++ New H84: character__size >= 0
+++ New H85: natural__size >= 0
+++ New H86: dns_types__packet_length_range__size >= 0
+++ New H87: dns_types__packet_bytes_range__size >= 0
+++ New H88: dns_types__dns_packet__size >= 0
+++ New H89: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_23. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H80: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H76 into:
>>> H76: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <
type_to_natural(dns_types__query_type__first) or type_to_natural(
dns_types__query_type__last) < element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H46: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) >= 0
<S> New H54: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) >= 0
<S> New H60: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H62: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) >= 0
<S> New H70: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
2147483647
<S> New H47: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
2147483647
<S> New H63: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H35: true
<S> New H36: true
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H77: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H78: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H43: true
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H14 (true-hypothesis).
--- Eliminated hypothesis H15 (true-hypothesis).
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H23 (true-hypothesis).
--- Eliminated hypothesis H40 (true-hypothesis).
--- Eliminated hypothesis H41 (true-hypothesis).
--- Eliminated hypothesis H42 (true-hypothesis).
--- Eliminated hypothesis H28 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H29 (true-hypothesis).
--- Eliminated hypothesis H39 (true-hypothesis).
--- Eliminated hypothesis H48 (true-hypothesis).
--- Eliminated hypothesis H56 (true-hypothesis).
--- Eliminated hypothesis H64 (true-hypothesis).
--- Eliminated hypothesis H72 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H30 (true-hypothesis).
--- Eliminated hypothesis H49 (true-hypothesis).
--- Eliminated hypothesis H57 (true-hypothesis).
--- Eliminated hypothesis H65 (true-hypothesis).
--- Eliminated hypothesis H73 (true-hypothesis).
--- Eliminated hypothesis H50 (true-hypothesis).
--- Eliminated hypothesis H58 (true-hypothesis).
--- Eliminated hypothesis H66 (true-hypothesis).
--- Eliminated hypothesis H74 (true-hypothesis).
--- Eliminated hypothesis H51 (true-hypothesis).
--- Eliminated hypothesis H59 (true-hypothesis).
--- Eliminated hypothesis H67 (true-hypothesis).
--- Eliminated hypothesis H75 (true-hypothesis).
--- Eliminated hypothesis H77 (true-hypothesis).
--- Eliminated hypothesis H78 (true-hypothesis).
--- Eliminated hypothesis H43 (true-hypothesis).
%%% Simplified H37 further (given H1), to give:
%%% H37: element(fld_bytes(input_packet), [1]) = 0
--- Eliminated hypothesis H33 (duplicate of H31).
--- Eliminated hypothesis H34 (duplicate of H32).
--- Eliminated hypothesis H26 (redundant, given H1).
--- Eliminated hypothesis H27 (redundant, given H2).
--- Eliminated hypothesis H31 (redundant, given H1).
--- Eliminated hypothesis H32 (redundant, given H2).
--- Eliminated hypothesis H52 (redundant, given H54).
--- Eliminated hypothesis H55 (redundant, given H53).
--- Eliminated hypothesis H68 (redundant, given H70).
--- Eliminated hypothesis H71 (redundant, given H69).
+++ New H81: integer__size >= 0
+++ New H82: character__size >= 0
+++ New H83: natural__size >= 0
+++ New H84: dns_types__packet_length_range__size >= 0
+++ New H85: dns_types__packet_bytes_range__size >= 0
+++ New H86: dns_types__dns_packet__size >= 0
+++ New H87: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_24. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified C2 on reading formula in, to give:
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S> New H95: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
<S> New H96: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H95 (true-hypothesis).
--- Eliminated hypothesis H96 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H63).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H63).
--- Eliminated hypothesis H56 (redundant, given H1).
--- Eliminated hypothesis H62 (redundant, given H3).
--- Eliminated hypothesis H63 (redundant, given H79).
--- Eliminated hypothesis H64 (redundant, given H3).
--- Eliminated hypothesis H65 (redundant, given H71).
--- Eliminated hypothesis H66 (redundant, given H68).
--- Eliminated hypothesis H69 (redundant, given H67).
--- Eliminated hypothesis H70 (redundant, given H3).
--- Eliminated hypothesis H71 (redundant, given H79).
--- Eliminated hypothesis H72 (redundant, given H3).
--- Eliminated hypothesis H73 (redundant, given H79).
--- Eliminated hypothesis H78 (redundant, given H3).
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
--- Eliminated hypothesis H80 (redundant, given H3).
--- Eliminated hypothesis H81 (redundant, given H87).
--- Eliminated hypothesis H82 (redundant, given H84).
--- Eliminated hypothesis H85 (redundant, given H83).
--- Eliminated hypothesis H86 (redundant, given H3).
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
--- Eliminated hypothesis H88 (redundant, given H3).
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
+++ New H99: integer__size >= 0
+++ New H100: character__size >= 0
+++ New H101: natural__size >= 0
+++ New H102: dns_types__packet_length_range__size >= 0
+++ New H103: dns_types__packet_bytes_range__size >= 0
+++ New H104: dns_types__dns_packet__size >= 0
+++ New H105: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_25. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified C2 on reading formula in, to give:
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H63).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H63).
--- Eliminated hypothesis H56 (redundant, given H1).
--- Eliminated hypothesis H62 (redundant, given H3).
--- Eliminated hypothesis H63 (redundant, given H79).
--- Eliminated hypothesis H64 (redundant, given H3).
--- Eliminated hypothesis H65 (redundant, given H71).
--- Eliminated hypothesis H66 (redundant, given H68).
--- Eliminated hypothesis H69 (redundant, given H67).
--- Eliminated hypothesis H70 (redundant, given H3).
--- Eliminated hypothesis H71 (redundant, given H79).
--- Eliminated hypothesis H72 (redundant, given H3).
--- Eliminated hypothesis H73 (redundant, given H79).
--- Eliminated hypothesis H78 (redundant, given H3).
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
--- Eliminated hypothesis H80 (redundant, given H3).
--- Eliminated hypothesis H81 (redundant, given H87).
--- Eliminated hypothesis H82 (redundant, given H84).
--- Eliminated hypothesis H85 (redundant, given H83).
--- Eliminated hypothesis H86 (redundant, given H3).
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
--- Eliminated hypothesis H88 (redundant, given H3).
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
+++ New H97: integer__size >= 0
+++ New H98: character__size >= 0
+++ New H99: natural__size >= 0
+++ New H100: dns_types__packet_length_range__size >= 0
+++ New H101: dns_types__packet_bytes_range__size >= 0
+++ New H102: dns_types__dns_packet__size >= 0
+++ New H103: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_26. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified C2 on reading formula in, to give:
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H90 into:
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
dns_types__query_type__first) or type_to_natural(
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
<S> New H91: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H92: true
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
--- Eliminated hypothesis H16 (true-hypothesis).
--- Eliminated hypothesis H17 (true-hypothesis).
--- Eliminated hypothesis H18 (true-hypothesis).
--- Eliminated hypothesis H19 (true-hypothesis).
--- Eliminated hypothesis H20 (true-hypothesis).
--- Eliminated hypothesis H21 (true-hypothesis).
--- Eliminated hypothesis H22 (true-hypothesis).
--- Eliminated hypothesis H25 (true-hypothesis).
--- Eliminated hypothesis H34 (true-hypothesis).
--- Eliminated hypothesis H35 (true-hypothesis).
--- Eliminated hypothesis H36 (true-hypothesis).
--- Eliminated hypothesis H38 (true-hypothesis).
--- Eliminated hypothesis H54 (true-hypothesis).
--- Eliminated hypothesis H55 (true-hypothesis).
--- Eliminated hypothesis H52 (true-hypothesis).
--- Eliminated hypothesis H53 (true-hypothesis).
--- Eliminated hypothesis H91 (true-hypothesis).
--- Eliminated hypothesis H92 (true-hypothesis).
--- Eliminated hypothesis H47 (duplicate of H45).
--- Eliminated hypothesis H48 (duplicate of H46).
--- Eliminated hypothesis H57 (duplicate of H2).
--- Eliminated hypothesis H28 (redundant, given H30).
--- Eliminated hypothesis H29 (redundant, given H31).
--- Eliminated hypothesis H37 (redundant, given H43).
--- Eliminated hypothesis H39 (redundant, given H2).
--- Eliminated hypothesis H40 (redundant, given H1).
--- Eliminated hypothesis H41 (redundant, given H2).
--- Eliminated hypothesis H42 (redundant, given H3).
--- Eliminated hypothesis H43 (redundant, given H63).
--- Eliminated hypothesis H45 (redundant, given H30).
--- Eliminated hypothesis H46 (redundant, given H31).
--- Eliminated hypothesis H49 (redundant, given H3).
--- Eliminated hypothesis H50 (redundant, given H63).
--- Eliminated hypothesis H56 (redundant, given H1).
--- Eliminated hypothesis H62 (redundant, given H3).
--- Eliminated hypothesis H63 (redundant, given H79).
--- Eliminated hypothesis H64 (redundant, given H3).
--- Eliminated hypothesis H65 (redundant, given H71).
--- Eliminated hypothesis H66 (redundant, given H68).
--- Eliminated hypothesis H69 (redundant, given H67).
--- Eliminated hypothesis H70 (redundant, given H3).
--- Eliminated hypothesis H71 (redundant, given H79).
--- Eliminated hypothesis H72 (redundant, given H3).
--- Eliminated hypothesis H73 (redundant, given H79).
--- Eliminated hypothesis H78 (redundant, given H3).
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
--- Eliminated hypothesis H80 (redundant, given H3).
--- Eliminated hypothesis H81 (redundant, given H87).
--- Eliminated hypothesis H82 (redundant, given H84).
--- Eliminated hypothesis H85 (redundant, given H83).
--- Eliminated hypothesis H86 (redundant, given H3).
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
--- Eliminated hypothesis H88 (redundant, given H3).
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
+++ New H95: integer__size >= 0
+++ New H96: character__size >= 0
+++ New H97: natural__size >= 0
+++ New H98: dns_types__packet_length_range__size >= 0
+++ New H99: dns_types__packet_bytes_range__size >= 0
+++ New H100: dns_types__dns_packet__size >= 0
+++ New H101: rr_type__wirestringtypeindex__size >= 0
@@@@@@@@@@ VC: procedure_get_query_name_type_class_27. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H84: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New H86: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_28. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H82: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New H84: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_29. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class)
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H80: element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
class_to_natural(dns_types__any_class)
<S> New H82: to_class(element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_30. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H100 on reading formula in, to give:
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H101 on reading formula in, to give:
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_31. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H98 on reading formula in, to give:
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H99 on reading formula in, to give:
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_32. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H96 on reading formula in, to give:
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H97 on reading formula in, to give:
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_33. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H83: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_34. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H81: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_35. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H79: not (element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
class_to_natural(dns_types__in_class) and element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_36. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_37. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_38. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified C1 on reading formula in, to give:
%%% C1: dns_types__query_class__first <= dns_types__none_class
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
<S> New C1: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__any_class))
<S> New C2: true
*** Proved C1: true
*** Proved C2: true
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_39. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H88 on reading formula in, to give:
%%% H88: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_40. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H86 on reading formula in, to give:
%%% H86: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_41. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H84 on reading formula in, to give:
%%% H84: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_42. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H87 on reading formula in, to give:
%%% H87: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_43. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_44. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_45. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H84 on reading formula in, to give:
%%% H84: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_46. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H82 on reading formula in, to give:
%%% H82: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_47. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_class__first <= dns_types__none_class
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
dns_types__packet_bytes_range__first
using hypothesis H64.
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
dns_types__packet_bytes_range__last
using hypothesis H65.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_48. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H100 on reading formula in, to give:
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H101 on reading formula in, to give:
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H102 on reading formula in, to give:
%%% H102: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_49. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H98 on reading formula in, to give:
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H99 on reading formula in, to give:
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H100 on reading formula in, to give:
%%% H100: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_50. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H96 on reading formula in, to give:
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H97 on reading formula in, to give:
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H98 on reading formula in, to give:
%%% H98: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_51. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H100 on reading formula in, to give:
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H101 on reading formula in, to give:
%%% H101: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_52. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H98 on reading formula in, to give:
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_53. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H96 on reading formula in, to give:
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_54. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H98 on reading formula in, to give:
%%% H98: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_55. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H96 on reading formula in, to give:
%%% H96: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_56. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_class__first <= dns_types__none_class
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
using hypothesis H78.
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
using hypothesis H79.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_57. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H88 on reading formula in, to give:
%%% H88: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H90 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H91 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H87: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H88: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
<S> New H89: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
<S> New H81: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S> New H82: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_58. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H86 on reading formula in, to give:
%%% H86: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H88 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H89 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H85: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H86: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
<S> New H87: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_59. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H84 on reading formula in, to give:
%%% H84: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H86 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H87 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
dns_types__query_type__last))
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H83: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H76 into:
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H84: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
<S> New H85: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S> New H77: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H78: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_60. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H87 on reading formula in, to give:
%%% H87: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
--- Hypothesis H88 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H89 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H85: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H87: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
<S> New H81: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S> New H82: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_61. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H85 on reading formula in, to give:
%%% H85: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
--- Hypothesis H86 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H87 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H83: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H85: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_62. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4]))
%%% Simplified H83 on reading formula in, to give:
%%% H83: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 4])))
--- Hypothesis H84 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H85 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
dns_types__query_type__last))
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S> New H81: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S> New H83: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H76 into:
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[4]) * 256 + element(fld_bytes(input_packet), [5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S> New H77: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H78: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_63. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H81 on reading formula in, to give:
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H84 on reading formula in, to give:
%%% H84: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H86 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H87 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H83: not (element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H83 into:
>>> H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S> New H84: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H85: true
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__any_class) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
<S> New H81: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S> New H82: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_64. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H78 on reading formula in, to give:
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2]))
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
element(fld_bytes(input_packet), [
dns_types__packet_bytes_range__first + 2])))
%%% Simplified H82 on reading formula in, to give:
%%% H82: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H84 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H85 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S> New H81: not (element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H81 into:
>>> H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S> New H82: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H83: true
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__any_class) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= type_to_natural(dns_types__a)
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
256 + element(fld_bytes(input_packet), [3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_65. @@@@@@@@@@
%%% Simplified H3 on reading formula in, to give:
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H12 on reading formula in, to give:
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H21 on reading formula in, to give:
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
%%% Simplified H30 on reading formula in, to give:
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
dns_types__packet_bytes_range__first <=
dns_types__packet_bytes_range__last
--- Hypothesis H40 has been replaced by "true". (It is already present, as
H38).
--- Hypothesis H41 has been replaced by "true". (It is already present, as
H39).
%%% Simplified H42 on reading formula in, to give:
%%% H42: true
%%% Simplified H77 on reading formula in, to give:
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H80 on reading formula in, to give:
%%% H80: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H82 has been replaced by "true". (It is already present, as
H64).
--- Hypothesis H83 has been replaced by "true". (It is already present, as
H65).
%%% Simplified C2 on reading formula in, to give:
%%% C2: dns_types__packet_bytes_range__first >= 0
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S> New H35: 1 >= integer__first
<S> New H36: 1 <= integer__last
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
<> 0 and rr_type__wirestringtypeindex__first <
rr_type__wirestringtypeindex__last)
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= natural__first
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= natural__last
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
<S> New H48: true
<S> New H49: 3 <= dns_types__packet_bytes_range__last
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
integer__base__first
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
integer__base__last
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
<S> New H56: true
<S> New H57: 2 <= dns_types__packet_bytes_range__last
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= natural__first
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= natural__last
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
<S> New H64: true
<S> New H65: 5 <= dns_types__packet_bytes_range__last
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
integer__base__first
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
integer__base__last
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
<S> New H72: true
<S> New H73: 4 <= dns_types__packet_bytes_range__last
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
fld_bytes(input_packet), [3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
dns_types__query_type__last))
<S> New H79: not (element(fld_bytes(input_packet), [4]) * 256 + element(
fld_bytes(input_packet), [5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
dns_types__query_class__last))
<S> New C1: 5 <= input_bytes
<S> New C2: true
*** Proved C2: true
>>> Restructured hypothesis H37 into:
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <=
rr_type__wirestringtypeindex__first
>>> Restructured hypothesis H76 into:
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
>>> Restructured hypothesis H79 into:
>>> H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H1: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H31: input_bytes >= - 2147483643
<S> New H35: true
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H32: input_bytes <= 2147483652
<S> New H36: true
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H28: true
<S> New H38: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H29: true
<S> New H39: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) >= 0
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) >= 0
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) <= 2147483647
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) <= 2147483647
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H26: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H27: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H33: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H34: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H30: true
<S> New H49: true
<S> New H57: true
<S> New H65: true
<S> New H73: true
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H50: true
<S> New H58: true
<S> New H66: true
<S> New H74: true
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H51: true
<S> New H59: true
<S> New H67: true
<S> New H75: true
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S> New H80: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H81: true
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
input_packet), [5]) < class_to_natural(dns_types__in_class) or
class_to_natural(dns_types__any_class) < element(fld_bytes(
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S> New H77: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H78: true
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
input_packet), [3]) < type_to_natural(dns_types__a) or
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
rr_type__wirestringtypeindex__last <= 1
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S> New H43: true
*** Proved C1: 5 <= input_bytes
using hypothesis H1.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_66. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H100 on reading formula in, to give:
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H101 on reading formula in, to give:
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H102 on reading formula in, to give:
%%% H102: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H104 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H105 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New H102: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New H103: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S> New H95: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
<S> New H96: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_67. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H98 on reading formula in, to give:
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H99 on reading formula in, to give:
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H100 on reading formula in, to give:
%%% H100: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H102 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H103 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New H100: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New H101: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_68. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H96 on reading formula in, to give:
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H97 on reading formula in, to give:
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
%%% Simplified H98 on reading formula in, to give:
%%% H98: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H100 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H101 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H90 into:
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
dns_types__query_type__first) or type_to_natural(
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S> New H98: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S> New H99: true
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
<S> New H91: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H92: true
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_69. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H98 on reading formula in, to give:
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H100 on reading formula in, to give:
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H101 on reading formula in, to give:
%%% H101: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
--- Hypothesis H102 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H103 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S> New H95: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
<S> New H96: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_70. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H96 on reading formula in, to give:
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H98 on reading formula in, to give:
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H99 on reading formula in, to give:
%%% H99: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
--- Hypothesis H100 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H101 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_71. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first)
%%% Simplified H94 on reading formula in, to give:
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__query_class__last)
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5]))
%%% Simplified H96 on reading formula in, to give:
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <=
dns_types__query_class__last
%%% Simplified H97 on reading formula in, to give:
%%% H97: dns_types__query_class__valid(to_class(element(fld_bytes(
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
byte + 5])))
--- Hypothesis H98 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H99 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H90 into:
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
dns_types__query_type__first) or type_to_natural(
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__in_class)
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
dns_types__any_class)
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
<S> New H91: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H92: true
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_72. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H97 on reading formula in, to give:
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H98 on reading formula in, to give:
%%% H98: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H100 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H101 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H97 into:
>>> H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__query_class__first) or class_to_natural(
dns_types__query_class__last) < element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
<S> New H98: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H99: true
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__any_class) <
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S> New H95: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
<S> New H96: true
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_73. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first)
%%% Simplified H91 on reading formula in, to give:
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__query_type__last)
%%% Simplified H92 on reading formula in, to give:
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3]))
%%% Simplified H93 on reading formula in, to give:
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__query_type__last
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])))
%%% Simplified H95 on reading formula in, to give:
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H96 on reading formula in, to give:
%%% H96: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H98 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H99 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H95 into:
>>> H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__query_class__first) or class_to_natural(
dns_types__query_class__last) < element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
<S> New H96: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H97: true
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__any_class) <
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
dns_types__unimplemented)
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3])) <=
dns_types__unimplemented
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.
@@@@@@@@@@ VC: procedure_get_query_name_type_class_74. @@@@@@@@@@
%%% Simplified H5 on reading formula in, to give:
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
%%% Simplified H14 on reading formula in, to give:
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
input_packet))
%%% Simplified H23 on reading formula in, to give:
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
input_packet))
--- Hypothesis H34 has been replaced by "true". (It is already present, as
H32).
--- Hypothesis H35 has been replaced by "true". (It is already present, as
H33).
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
.
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
.
--- Hypothesis H54 has been replaced by "true". (It is already present, as
H52).
--- Hypothesis H55 has been replaced by "true". (It is already present, as
H53).
%%% Simplified H58 on reading formula in, to give:
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H59 on reading formula in, to give:
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H60 on reading formula in, to give:
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%% Simplified H61 on reading formula in, to give:
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%% Simplified H62 on reading formula in, to give:
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
%%% Simplified H63 on reading formula in, to give:
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
%%% Simplified H64 on reading formula in, to give:
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
%%% Simplified H65 on reading formula in, to give:
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
%%% Simplified H66 on reading formula in, to give:
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
integer__base__first
%%% Simplified H67 on reading formula in, to give:
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
integer__base__last
%%% Simplified H68 on reading formula in, to give:
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%% Simplified H69 on reading formula in, to give:
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%% Simplified H70 on reading formula in, to give:
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
%%% Simplified H71 on reading formula in, to give:
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
%%% Simplified H72 on reading formula in, to give:
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
%%% Simplified H73 on reading formula in, to give:
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
%%% Simplified H74 on reading formula in, to give:
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H75 on reading formula in, to give:
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H76 on reading formula in, to give:
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%% Simplified H77 on reading formula in, to give:
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%% Simplified H78 on reading formula in, to give:
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
%%% Simplified H79 on reading formula in, to give:
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
%%% Simplified H80 on reading formula in, to give:
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
%%% Simplified H81 on reading formula in, to give:
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
%%% Simplified H82 on reading formula in, to give:
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
integer__base__first
%%% Simplified H83 on reading formula in, to give:
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
integer__base__last
%%% Simplified H84 on reading formula in, to give:
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%% Simplified H85 on reading formula in, to give:
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%% Simplified H86 on reading formula in, to give:
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
%%% Simplified H87 on reading formula in, to give:
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
%%% Simplified H88 on reading formula in, to give:
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
%%% Simplified H89 on reading formula in, to give:
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
%%% Simplified H90 on reading formula in, to give:
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
dns_types__query_type__first) and element(fld_bytes(input_packet), [
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
type_to_natural(dns_types__query_type__last))
%%% Simplified H91 on reading formula in, to give:
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
%%% Simplified H93 on reading formula in, to give:
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
dns_types__query_class__first) and element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
class_to_natural(dns_types__query_class__last))
%%% Simplified H94 on reading formula in, to give:
%%% H94: dns_types__query_class__first <= dns_types__none_class
--- Hypothesis H96 has been replaced by "true". (It is already present, as
H78).
--- Hypothesis H97 has been replaced by "true". (It is already present, as
H79).
%%% Simplified C1 on reading formula in, to give:
%%% C1: byte + 5 <= input_bytes
%%% Simplified C2 on reading formula in, to give:
%%% C2: byte >= - 1
*** Proved C1: byte + 5 <= input_bytes
using hypothesis H4.
>>> Restructured hypothesis H51 into:
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>> Restructured hypothesis H90 into:
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
dns_types__query_type__first) or type_to_natural(
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
>>> Restructured hypothesis H93 into:
>>> H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__query_class__first) or class_to_natural(
dns_types__query_class__last) < element(fld_bytes(input_packet), [
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(1).
This was achieved by replacing all occurrences of dns_types__header_bits
by:
96.
<S> New H30: input_bytes >= 13
-S- Applied substitution rule get_query_na_rules(7).
This was achieved by replacing all occurrences of integer__first by:
- 2147483648.
<S> New H45: input_bytes >= - 2147483643
<S> New H49: byte >= - 2147483649
-S- Applied substitution rule get_query_na_rules(8).
This was achieved by replacing all occurrences of integer__last by:
2147483647.
<S> New H46: input_bytes <= 2147483652
<S> New H50: byte <= 2147483646
-S- Applied substitution rule get_query_na_rules(9).
This was achieved by replacing all occurrences of integer__base__first by:
- 2147483648.
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
2147483648
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
2147483648
-S- Applied substitution rule get_query_na_rules(10).
This was achieved by replacing all occurrences of integer__base__last by:
2147483647.
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S- Applied substitution rule get_query_na_rules(12).
This was achieved by replacing all occurrences of character__first by:
0.
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
<S> New H52: true
-S- Applied substitution rule get_query_na_rules(13).
This was achieved by replacing all occurrences of character__last by:
255.
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
<S> New H53: true
-S- Applied substitution rule get_query_na_rules(17).
This was achieved by replacing all occurrences of natural__first by:
0.
<S> New H40: i >= - 1
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
-S- Applied substitution rule get_query_na_rules(18).
This was achieved by replacing all occurrences of natural__last by:
2147483647.
<S> New H41: i <= 2147483646
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S- Applied substitution rule get_query_na_rules(22).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__first by:
0.
<S> New H28: input_bytes >= 0
-S- Applied substitution rule get_query_na_rules(23).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__last by:
8192.
<S> New H29: input_bytes <= 8192
-S- Applied substitution rule get_query_na_rules(24).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__first by:
- 2147483648.
<S> New H47: input_bytes >= - 2147483643
-S- Applied substitution rule get_query_na_rules(25).
This was achieved by replacing all occurrences of
dns_types__packet_length_range__base__last by:
2147483647.
<S> New H48: input_bytes <= 2147483652
-S- Applied substitution rule get_query_na_rules(27).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__first by:
1.
<S> New H3: byte >= 1
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
<S> New H42: byte >= 0
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
dns_types__packet_bytes_range__last
<S> New H62: byte >= - 2
<S> New H70: byte >= - 1
<S> New H78: byte >= - 4
<S> New H86: byte >= - 3
-S- Applied substitution rule get_query_na_rules(28).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__last by:
8180.
<S> New H37: byte <= 8180
<S> New H43: byte <= 8179
<S> New H63: byte <= 8177
<S> New H71: byte <= 8178
<S> New H79: byte <= 8175
<S> New H87: byte <= 8176
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
and element(fld_bytes(input_packet), [i___1]) <=
dns_types__byte__last)
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S- Applied substitution rule get_query_na_rules(29).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__first by:
- 2147483648.
<S> New H64: byte >= - 2147483651
<S> New H72: byte >= - 2147483650
<S> New H80: byte >= - 2147483653
<S> New H88: byte >= - 2147483652
-S- Applied substitution rule get_query_na_rules(30).
This was achieved by replacing all occurrences of
dns_types__packet_bytes_range__base__last by:
2147483647.
<S> New H65: byte <= 2147483644
<S> New H73: byte <= 2147483645
<S> New H81: byte <= 2147483642
<S> New H89: byte <= 2147483643
-S- Applied substitution rule get_query_na_rules(33).
This was achieved by replacing all occurrences of dns_types__byte__first
by:
0.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= dns_types__byte__last)
-S- Applied substitution rule get_query_na_rules(34).
This was achieved by replacing all occurrences of dns_types__byte__last by:
255.
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
input_packet), [i___1]) <= 255)
-S- Applied substitution rule get_query_na_rules(40).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__first by:
0.
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
-S- Applied substitution rule get_query_na_rules(41).
This was achieved by replacing all occurrences of
dns_types__unsigned_short__last by:
65535.
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
-S- Applied substitution rule get_query_na_rules(46).
This was achieved by replacing all occurrences of
dns_types__opcode_type__first by:
dns_types__query.
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(47).
This was achieved by replacing all occurrences of
dns_types__opcode_type__last by:
dns_types__status.
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
-S- Applied substitution rule get_query_na_rules(72).
This was achieved by replacing all occurrences of
dns_types__response_code__first by:
dns_types__no_error.
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S- Applied substitution rule get_query_na_rules(73).
This was achieved by replacing all occurrences of
dns_types__response_code__last by:
dns_types__refused.
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S- Applied substitution rule get_query_na_rules(107).
This was achieved by replacing all occurrences of
dns_types__query_class__first by:
dns_types__in_class.
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
<S> New H94: true
-S- Applied substitution rule get_query_na_rules(108).
This was achieved by replacing all occurrences of
dns_types__query_class__last by:
dns_types__any_class.
<S> New H95: true
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
dns_types__in_class) or class_to_natural(dns_types__any_class) <
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
fld_bytes(input_packet), [byte + 5])
-S- Applied substitution rule get_query_na_rules(137).
This was achieved by replacing all occurrences of
dns_types__query_type__first by:
dns_types__a.
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
<S> New H91: true
-S- Applied substitution rule get_query_na_rules(138).
This was achieved by replacing all occurrences of
dns_types__query_type__last by:
dns_types__unimplemented.
<S> New H92: true
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
byte + 3])
-S- Applied substitution rule get_query_na_rules(196).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__first by:
1.
<S> New H1: i >= 1
<S> New H56: i >= 0
-S- Applied substitution rule get_query_na_rules(197).
This was achieved by replacing all occurrences of
rr_type__wirestringtypeindex__last by:
129.
<S> New H2: i < 129
<S> New H39: i <= 129
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
byte + 1]) = 0 or 128 <= i
<S> New H57: i <= 128
*** Proved C2: byte >= - 1
using hypothesis H70.
*** PROVED VC.