           /*********************************************************/
                           /*Proof Rule Declarations*/
                             /*Examiner GPL Edition*/

           /*********************************************************/


           /*procedure Zone_File_Parser.ParseDomainNameAndRRString*/


rule_family parsedomainn_rules:
     X      requires [X:any] &
     X <= Y requires [X:ire, Y:ire] &
     X >= Y requires [X:ire, Y:ire].

parsedomainn_rules(1): rr_type__maxdomainnamelength may_be_replaced_by 128.
parsedomainn_rules(2): integer__size >= 0 may_be_deduced.
parsedomainn_rules(3): integer__first may_be_replaced_by -2147483648.
parsedomainn_rules(4): integer__last may_be_replaced_by 2147483647.
parsedomainn_rules(5): integer__base__first may_be_replaced_by -2147483648.
parsedomainn_rules(6): integer__base__last may_be_replaced_by 2147483647.
parsedomainn_rules(7): character__size >= 0 may_be_deduced.
parsedomainn_rules(8): character__first may_be_replaced_by 0.
parsedomainn_rules(9): character__last may_be_replaced_by 255.
parsedomainn_rules(10): character__base__first may_be_replaced_by 0.
parsedomainn_rules(11): character__base__last may_be_replaced_by 255.
parsedomainn_rules(12): natural__size >= 0 may_be_deduced.
parsedomainn_rules(13): natural__first may_be_replaced_by 0.
parsedomainn_rules(14): natural__last may_be_replaced_by 2147483647.
parsedomainn_rules(15): natural__base__first may_be_replaced_by -2147483648.
parsedomainn_rules(16): natural__base__last may_be_replaced_by 2147483647.
parsedomainn_rules(17): positive__size >= 0 may_be_deduced.
parsedomainn_rules(18): positive__first may_be_replaced_by 1.
parsedomainn_rules(19): positive__last may_be_replaced_by 2147483647.
parsedomainn_rules(20): positive__base__first may_be_replaced_by -2147483648.
parsedomainn_rules(21): positive__base__last may_be_replaced_by 2147483647.
parsedomainn_rules(22): rr_type__rritemtype__size >= 0 may_be_deduced.
parsedomainn_rules(23): rr_type__rritemtype__first may_be_replaced_by rr_type__domainnameortimespec.
parsedomainn_rules(24): rr_type__rritemtype__last may_be_replaced_by rr_type__other.
parsedomainn_rules(25): rr_type__rritemtype__base__first may_be_replaced_by rr_type__domainnameortimespec.
parsedomainn_rules(26): rr_type__rritemtype__base__last may_be_replaced_by rr_type__other.
parsedomainn_rules(27): rr_type__rritemtype__pos(
     rr_type__rritemtype__first) may_be_replaced_by 0.
parsedomainn_rules(28): rr_type__rritemtype__pos(
     rr_type__domainnameortimespec) may_be_replaced_by 0.
parsedomainn_rules(29): rr_type__rritemtype__val(0) may_be_replaced_by 
     rr_type__domainnameortimespec.
parsedomainn_rules(30): rr_type__rritemtype__pos(rr_type__number) may_be_replaced_by 1.
parsedomainn_rules(31): rr_type__rritemtype__val(1) may_be_replaced_by 
     rr_type__number.
parsedomainn_rules(32): rr_type__rritemtype__pos(rr_type__class) may_be_replaced_by 2.
parsedomainn_rules(33): rr_type__rritemtype__val(2) may_be_replaced_by 
     rr_type__class.
parsedomainn_rules(34): rr_type__rritemtype__pos(
     rr_type__recordindicator) may_be_replaced_by 3.
parsedomainn_rules(35): rr_type__rritemtype__val(3) may_be_replaced_by 
     rr_type__recordindicator.
parsedomainn_rules(36): rr_type__rritemtype__pos(rr_type__ipv4) may_be_replaced_by 4.
parsedomainn_rules(37): rr_type__rritemtype__val(4) may_be_replaced_by 
     rr_type__ipv4.
parsedomainn_rules(38): rr_type__rritemtype__pos(rr_type__ipv6) may_be_replaced_by 5.
parsedomainn_rules(39): rr_type__rritemtype__val(5) may_be_replaced_by 
     rr_type__ipv6.
parsedomainn_rules(40): rr_type__rritemtype__pos(rr_type__lparen) may_be_replaced_by 6.
parsedomainn_rules(41): rr_type__rritemtype__val(6) may_be_replaced_by 
     rr_type__lparen.
parsedomainn_rules(42): rr_type__rritemtype__pos(rr_type__rparen) may_be_replaced_by 7.
parsedomainn_rules(43): rr_type__rritemtype__val(7) may_be_replaced_by 
     rr_type__rparen.
parsedomainn_rules(44): rr_type__rritemtype__pos(rr_type__control) may_be_replaced_by 8.
parsedomainn_rules(45): rr_type__rritemtype__val(8) may_be_replaced_by 
     rr_type__control.
parsedomainn_rules(46): rr_type__rritemtype__pos(rr_type__comment) may_be_replaced_by 9.
parsedomainn_rules(47): rr_type__rritemtype__val(9) may_be_replaced_by 
     rr_type__comment.
parsedomainn_rules(48): rr_type__rritemtype__pos(rr_type__other) may_be_replaced_by 10.
parsedomainn_rules(49): rr_type__rritemtype__val(10) may_be_replaced_by 
     rr_type__other.
parsedomainn_rules(50): rr_type__rritemtype__pos(
     rr_type__rritemtype__last) may_be_replaced_by 10.
parsedomainn_rules(51): rr_type__rritemtype__pos(succ(X)) may_be_replaced_by 
     rr_type__rritemtype__pos(X) + 1
     if [X <=rr_type__other, X <> rr_type__other].
parsedomainn_rules(52): rr_type__rritemtype__pos(pred(X)) may_be_replaced_by 
     rr_type__rritemtype__pos(X) - 1
     if [X >=rr_type__domainnameortimespec, X <> 
     rr_type__domainnameortimespec].
parsedomainn_rules(53): rr_type__rritemtype__pos(X) >= 0 may_be_deduced_from
     [rr_type__domainnameortimespec <= X, X <= rr_type__other].
parsedomainn_rules(54): rr_type__rritemtype__pos(X) <= 10 may_be_deduced_from
     [rr_type__domainnameortimespec <= X, X <= rr_type__other].
parsedomainn_rules(55): rr_type__rritemtype__val(X) >= 
     rr_type__domainnameortimespec may_be_deduced_from
     [0 <= X, X <= 10].
parsedomainn_rules(56): rr_type__rritemtype__val(X) <= 
     rr_type__other may_be_deduced_from
     [0 <= X, X <= 10].
parsedomainn_rules(57): succ(rr_type__rritemtype__val(X)) may_be_replaced_by 
     rr_type__rritemtype__val(X+1)
     if [0 <= X, X < 10].
parsedomainn_rules(58): pred(rr_type__rritemtype__val(X)) may_be_replaced_by 
     rr_type__rritemtype__val(X-1)
     if [0 < X, X <= 10].
parsedomainn_rules(59): rr_type__rritemtype__pos(
     rr_type__rritemtype__val(X)) may_be_replaced_by X
     if [0 <= X, X <= 10].
parsedomainn_rules(60): rr_type__rritemtype__val(
     rr_type__rritemtype__pos(X)) may_be_replaced_by X
     if [rr_type__domainnameortimespec <= X, X <= rr_type__other].
parsedomainn_rules(61): rr_type__rritemtype__pos(X) <= 
     rr_type__rritemtype__pos(Y) & X <= Y are_interchangeable 
     if [rr_type__domainnameortimespec <= X, X <= rr_type__other, 
     rr_type__domainnameortimespec <= Y, Y <= rr_type__other].
parsedomainn_rules(62): rr_type__rritemtype__val(X) <= 
     rr_type__rritemtype__val(Y) & X <= Y are_interchangeable 
     if [0 <= X, X <= 10, 0 <= Y, Y <= 10].
parsedomainn_rules(63): rr_type__linelengthindex__size >= 0 may_be_deduced.
parsedomainn_rules(64): rr_type__linelengthindex__first may_be_replaced_by 1.
parsedomainn_rules(65): rr_type__linelengthindex__last may_be_replaced_by 256.
parsedomainn_rules(66): rr_type__linelengthindex__base__first may_be_replaced_by -2147483648.
parsedomainn_rules(67): rr_type__linelengthindex__base__last may_be_replaced_by 2147483647.
parsedomainn_rules(68): rr_type__domainnamestringtypeindex__size >= 0 may_be_deduced.
parsedomainn_rules(69): rr_type__domainnamestringtypeindex__first may_be_replaced_by 1.
parsedomainn_rules(70): rr_type__domainnamestringtypeindex__last may_be_replaced_by 128.
parsedomainn_rules(71): rr_type__domainnamestringtypeindex__base__first may_be_replaced_by -2147483648.
parsedomainn_rules(72): rr_type__domainnamestringtypeindex__base__last may_be_replaced_by 2147483647.
