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

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


                    procedure Zone_File_Parser.parseIpv6




For path(s) from start to precondition check associated with statement of line 848:

procedure_parseipv6_1.
H1:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H2:    zlength >= rr_type__linelengthindex__first .
H3:    zlength <= rr_type__linelengthindex__last .
H4:    1 >= rr_type__linelengthindex__first .
H5:    1 <= rr_type__linelengthindex__last .
        ->
C1:    1 >= rr_type__linelengthindex__first .
C2:    1 <= rr_type__linelengthindex__last .
C3:    zlength >= rr_type__linelengthindex__first .
C4:    zlength <= rr_type__linelengthindex__last .
C5:    1 <= zlength .
 

For path(s) from start to run-time check associated with statement of line 848:

procedure_parseipv6_2.
H1:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H2:    zlength >= rr_type__linelengthindex__first .
H3:    zlength <= rr_type__linelengthindex__last .
H4:    1 >= rr_type__linelengthindex__first .
H5:    1 <= rr_type__linelengthindex__last .
H6:    1 >= rr_type__linelengthindex__first .
H7:    1 <= rr_type__linelengthindex__last .
H8:    zlength >= rr_type__linelengthindex__first .
H9:    zlength <= rr_type__linelengthindex__last .
H10:   1 <= zlength .
H11:   begidx__1 <= endidx__1 .
H12:   begidx__1 <= zlength .
H13:   endidx__1 <= zlength .
H14:   (foundtype__1 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__1) and (i_ <= endidx__1)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H15:   begidx__1 >= rr_type__linelengthindex__first .
H16:   begidx__1 <= rr_type__linelengthindex__last .
H17:   endidx__1 >= rr_type__linelengthindex__first .
H18:   endidx__1 <= rr_type__linelengthindex__last .
H19:   foundtype__1 >= rr_type__rritemtype__first .
H20:   foundtype__1 <= rr_type__rritemtype__last .
        ->
C1:    foundtype__1 >= rr_type__rritemtype__first .
C2:    foundtype__1 <= rr_type__rritemtype__last .
C3:    endidx__1 >= rr_type__linelengthindex__first .
C4:    endidx__1 <= rr_type__linelengthindex__last .
C5:    begidx__1 >= rr_type__linelengthindex__first .
C6:    begidx__1 <= rr_type__linelengthindex__last .
 

For path(s) from start to assertion of line 852:

procedure_parseipv6_3.
H1:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H2:    zlength >= rr_type__linelengthindex__first .
H3:    zlength <= rr_type__linelengthindex__last .
H4:    1 >= rr_type__linelengthindex__first .
H5:    1 <= rr_type__linelengthindex__last .
H6:    1 >= rr_type__linelengthindex__first .
H7:    1 <= rr_type__linelengthindex__last .
H8:    zlength >= rr_type__linelengthindex__first .
H9:    zlength <= rr_type__linelengthindex__last .
H10:   1 <= zlength .
H11:   begidx__1 <= endidx__1 .
H12:   begidx__1 <= zlength .
H13:   endidx__1 <= zlength .
H14:   (foundtype__1 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__1) and (i_ <= endidx__1)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H15:   begidx__1 >= rr_type__linelengthindex__first .
H16:   begidx__1 <= rr_type__linelengthindex__last .
H17:   endidx__1 >= rr_type__linelengthindex__first .
H18:   endidx__1 <= rr_type__linelengthindex__last .
H19:   foundtype__1 >= rr_type__rritemtype__first .
H20:   foundtype__1 <= rr_type__rritemtype__last .
H21:   foundtype__1 >= rr_type__rritemtype__first .
H22:   foundtype__1 <= rr_type__rritemtype__last .
H23:   endidx__1 >= rr_type__linelengthindex__first .
H24:   endidx__1 <= rr_type__linelengthindex__last .
H25:   begidx__1 >= rr_type__linelengthindex__first .
H26:   begidx__1 <= rr_type__linelengthindex__last .
H27:   endidx__1 >= rr_type__linelengthindex__first .
H28:   endidx__1 <= rr_type__linelengthindex__last .
H29:   foundtype__1 >= rr_type__rritemtype__first .
H30:   foundtype__1 <= rr_type__rritemtype__last .
H31:   foundtype__1 <> rr_type__ipv6 .
H32:   endidx__1 < zlength .
        ->
C1:    endidx__1 < zlength .
C2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
C3:    zlength >= rr_type__linelengthindex__first .
C4:    zlength <= rr_type__linelengthindex__last .
 

For path(s) from assertion of line 852 to assertion of line 852:

procedure_parseipv6_4.
H1:    endidx < zlength .
H2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H3:    zlength >= rr_type__linelengthindex__first .
H4:    zlength <= rr_type__linelengthindex__last .
H5:    begidx >= rr_type__linelengthindex__first .
H6:    begidx <= rr_type__linelengthindex__last .
H7:    endidx >= rr_type__linelengthindex__first .
H8:    endidx <= rr_type__linelengthindex__last .
H9:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H10:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H11:   begidx - begidx + endidx >= integer__base__first .
H12:   begidx - begidx + endidx <= integer__base__last .
H13:   begidx - begidx >= integer__base__first .
H14:   begidx - begidx <= integer__base__last .
H15:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H16:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H17:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H18:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H19:   zlength >= rr_type__linelengthindex__first .
H20:   zlength <= rr_type__linelengthindex__last .
H21:   begidx - begidx + endidx + 1 <= zlength .
H22:   begidx__2 <= endidx__2 .
H23:   begidx__2 <= zlength .
H24:   endidx__2 <= zlength .
H25:   (foundtype__2 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__2) and (i_ <= endidx__2)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H26:   begidx__2 >= rr_type__linelengthindex__first .
H27:   begidx__2 <= rr_type__linelengthindex__last .
H28:   endidx__2 >= rr_type__linelengthindex__first .
H29:   endidx__2 <= rr_type__linelengthindex__last .
H30:   foundtype__2 >= rr_type__rritemtype__first .
H31:   foundtype__2 <= rr_type__rritemtype__last .
H32:   foundtype__2 >= rr_type__rritemtype__first .
H33:   foundtype__2 <= rr_type__rritemtype__last .
H34:   endidx__2 >= rr_type__linelengthindex__first .
H35:   endidx__2 <= rr_type__linelengthindex__last .
H36:   begidx__2 >= rr_type__linelengthindex__first .
H37:   begidx__2 <= rr_type__linelengthindex__last .
H38:   endidx__2 >= rr_type__linelengthindex__first .
H39:   endidx__2 <= rr_type__linelengthindex__last .
H40:   foundtype__2 >= rr_type__rritemtype__first .
H41:   foundtype__2 <= rr_type__rritemtype__last .
H42:   foundtype__2 <> rr_type__ipv6 .
H43:   endidx__2 < zlength .
        ->
C1:    endidx__2 < zlength .
C2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
C3:    zlength >= rr_type__linelengthindex__first .
C4:    zlength <= rr_type__linelengthindex__last .
 

For path(s) from assertion of line 852 to run-time check associated with statement of line 853:

procedure_parseipv6_5.
H1:    endidx < zlength .
H2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H3:    zlength >= rr_type__linelengthindex__first .
H4:    zlength <= rr_type__linelengthindex__last .
H5:    begidx >= rr_type__linelengthindex__first .
H6:    begidx <= rr_type__linelengthindex__last .
H7:    endidx >= rr_type__linelengthindex__first .
H8:    endidx <= rr_type__linelengthindex__last .
        ->
C1:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
C2:    begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
C3:    begidx - begidx + endidx >= integer__base__first .
C4:    begidx - begidx + endidx <= integer__base__last .
C5:    begidx - begidx >= integer__base__first .
C6:    begidx - begidx <= integer__base__last .
 

For path(s) from assertion of line 852 to precondition check associated with statement of line 854:

procedure_parseipv6_6.
H1:    endidx < zlength .
H2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H3:    zlength >= rr_type__linelengthindex__first .
H4:    zlength <= rr_type__linelengthindex__last .
H5:    begidx >= rr_type__linelengthindex__first .
H6:    begidx <= rr_type__linelengthindex__last .
H7:    endidx >= rr_type__linelengthindex__first .
H8:    endidx <= rr_type__linelengthindex__last .
H9:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H10:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H11:   begidx - begidx + endidx >= integer__base__first .
H12:   begidx - begidx + endidx <= integer__base__last .
H13:   begidx - begidx >= integer__base__first .
H14:   begidx - begidx <= integer__base__last .
H15:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H16:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
        ->
C1:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
C2:    begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
C3:    zlength >= rr_type__linelengthindex__first .
C4:    zlength <= rr_type__linelengthindex__last .
C5:    begidx - begidx + endidx + 1 <= zlength .
 

For path(s) from assertion of line 852 to run-time check associated with statement of line 854:

procedure_parseipv6_7.
H1:    endidx < zlength .
H2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H3:    zlength >= rr_type__linelengthindex__first .
H4:    zlength <= rr_type__linelengthindex__last .
H5:    begidx >= rr_type__linelengthindex__first .
H6:    begidx <= rr_type__linelengthindex__last .
H7:    endidx >= rr_type__linelengthindex__first .
H8:    endidx <= rr_type__linelengthindex__last .
H9:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H10:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H11:   begidx - begidx + endidx >= integer__base__first .
H12:   begidx - begidx + endidx <= integer__base__last .
H13:   begidx - begidx >= integer__base__first .
H14:   begidx - begidx <= integer__base__last .
H15:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H16:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H17:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H18:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H19:   zlength >= rr_type__linelengthindex__first .
H20:   zlength <= rr_type__linelengthindex__last .
H21:   begidx - begidx + endidx + 1 <= zlength .
H22:   begidx__2 <= endidx__2 .
H23:   begidx__2 <= zlength .
H24:   endidx__2 <= zlength .
H25:   (foundtype__2 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__2) and (i_ <= endidx__2)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H26:   begidx__2 >= rr_type__linelengthindex__first .
H27:   begidx__2 <= rr_type__linelengthindex__last .
H28:   endidx__2 >= rr_type__linelengthindex__first .
H29:   endidx__2 <= rr_type__linelengthindex__last .
H30:   foundtype__2 >= rr_type__rritemtype__first .
H31:   foundtype__2 <= rr_type__rritemtype__last .
        ->
C1:    foundtype__2 >= rr_type__rritemtype__first .
C2:    foundtype__2 <= rr_type__rritemtype__last .
C3:    endidx__2 >= rr_type__linelengthindex__first .
C4:    endidx__2 <= rr_type__linelengthindex__last .
C5:    begidx__2 >= rr_type__linelengthindex__first .
C6:    begidx__2 <= rr_type__linelengthindex__last .
 

For path(s) from start to run-time check associated with statement of line 860:

procedure_parseipv6_8.
H1:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H2:    zlength >= rr_type__linelengthindex__first .
H3:    zlength <= rr_type__linelengthindex__last .
H4:    1 >= rr_type__linelengthindex__first .
H5:    1 <= rr_type__linelengthindex__last .
H6:    1 >= rr_type__linelengthindex__first .
H7:    1 <= rr_type__linelengthindex__last .
H8:    zlength >= rr_type__linelengthindex__first .
H9:    zlength <= rr_type__linelengthindex__last .
H10:   1 <= zlength .
H11:   begidx__1 <= endidx__1 .
H12:   begidx__1 <= zlength .
H13:   endidx__1 <= zlength .
H14:   (foundtype__1 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__1) and (i_ <= endidx__1)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H15:   begidx__1 >= rr_type__linelengthindex__first .
H16:   begidx__1 <= rr_type__linelengthindex__last .
H17:   endidx__1 >= rr_type__linelengthindex__first .
H18:   endidx__1 <= rr_type__linelengthindex__last .
H19:   foundtype__1 >= rr_type__rritemtype__first .
H20:   foundtype__1 <= rr_type__rritemtype__last .
H21:   foundtype__1 >= rr_type__rritemtype__first .
H22:   foundtype__1 <= rr_type__rritemtype__last .
H23:   endidx__1 >= rr_type__linelengthindex__first .
H24:   endidx__1 <= rr_type__linelengthindex__last .
H25:   begidx__1 >= rr_type__linelengthindex__first .
H26:   begidx__1 <= rr_type__linelengthindex__last .
H27:   endidx__1 >= rr_type__linelengthindex__first .
H28:   endidx__1 <= rr_type__linelengthindex__last .
H29:   foundtype__1 >= rr_type__rritemtype__first .
H30:   foundtype__1 <= rr_type__rritemtype__last .
H31:   not ((foundtype__1 <> rr_type__ipv6) and (endidx__1 < 
           zlength)) .
H32:   endidx__1 >= rr_type__linelengthindex__first .
H33:   endidx__1 <= rr_type__linelengthindex__last .
H34:   foundtype__1 >= rr_type__rritemtype__first .
H35:   foundtype__1 <= rr_type__rritemtype__last .
H36:   not ((foundtype__1 <> rr_type__ipv6) and (endidx__1 >= 
           zlength)) .
H37:   begidx__1 >= rr_type__linelengthindex__first .
H38:   begidx__1 <= rr_type__linelengthindex__last .
H39:   endidx__1 >= rr_type__linelengthindex__first .
H40:   endidx__1 <= rr_type__linelengthindex__last .
        ->
C1:    endidx__1 >= rr_type__linelengthindex__first .
C2:    endidx__1 <= rr_type__linelengthindex__last .
C3:    begidx__1 >= rr_type__linelengthindex__first .
C4:    begidx__1 <= rr_type__linelengthindex__last .
 

For path(s) from assertion of line 852 to run-time check associated with statement of line 860:

procedure_parseipv6_9.
H1:    endidx < zlength .
H2:    for_all(i___1: integer, ((i___1 >= 
           rr_type__linelengthindex__first) and (i___1 <= 
           rr_type__linelengthindex__last)) -> ((element(
           zonefileline, [i___1]) >= character__first) and (element(
           zonefileline, [i___1]) <= character__last))) .
H3:    zlength >= rr_type__linelengthindex__first .
H4:    zlength <= rr_type__linelengthindex__last .
H5:    begidx >= rr_type__linelengthindex__first .
H6:    begidx <= rr_type__linelengthindex__last .
H7:    endidx >= rr_type__linelengthindex__first .
H8:    endidx <= rr_type__linelengthindex__last .
H9:    begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H10:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H11:   begidx - begidx + endidx >= integer__base__first .
H12:   begidx - begidx + endidx <= integer__base__last .
H13:   begidx - begidx >= integer__base__first .
H14:   begidx - begidx <= integer__base__last .
H15:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H16:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H17:   begidx - begidx + endidx + 1 >= 
           rr_type__linelengthindex__first .
H18:   begidx - begidx + endidx + 1 <= 
           rr_type__linelengthindex__last .
H19:   zlength >= rr_type__linelengthindex__first .
H20:   zlength <= rr_type__linelengthindex__last .
H21:   begidx - begidx + endidx + 1 <= zlength .
H22:   begidx__2 <= endidx__2 .
H23:   begidx__2 <= zlength .
H24:   endidx__2 <= zlength .
H25:   (foundtype__2 = rr_type__number) -> (for_all(i_: 
           integer, ((i_ >= begidx__2) and (i_ <= endidx__2)) -> ((element(
           zonefileline, [i_]) >= 48) and (element(
           zonefileline, [i_]) <= 57)))) .
H26:   begidx__2 >= rr_type__linelengthindex__first .
H27:   begidx__2 <= rr_type__linelengthindex__last .
H28:   endidx__2 >= rr_type__linelengthindex__first .
H29:   endidx__2 <= rr_type__linelengthindex__last .
H30:   foundtype__2 >= rr_type__rritemtype__first .
H31:   foundtype__2 <= rr_type__rritemtype__last .
H32:   foundtype__2 >= rr_type__rritemtype__first .
H33:   foundtype__2 <= rr_type__rritemtype__last .
H34:   endidx__2 >= rr_type__linelengthindex__first .
H35:   endidx__2 <= rr_type__linelengthindex__last .
H36:   begidx__2 >= rr_type__linelengthindex__first .
H37:   begidx__2 <= rr_type__linelengthindex__last .
H38:   endidx__2 >= rr_type__linelengthindex__first .
H39:   endidx__2 <= rr_type__linelengthindex__last .
H40:   foundtype__2 >= rr_type__rritemtype__first .
H41:   foundtype__2 <= rr_type__rritemtype__last .
H42:   not ((foundtype__2 <> rr_type__ipv6) and (endidx__2 < 
           zlength)) .
H43:   endidx__2 >= rr_type__linelengthindex__first .
H44:   endidx__2 <= rr_type__linelengthindex__last .
H45:   foundtype__2 >= rr_type__rritemtype__first .
H46:   foundtype__2 <= rr_type__rritemtype__last .
H47:   not ((foundtype__2 <> rr_type__ipv6) and (endidx__2 >= 
           zlength)) .
H48:   begidx__2 >= rr_type__linelengthindex__first .
H49:   begidx__2 <= rr_type__linelengthindex__last .
H50:   endidx__2 >= rr_type__linelengthindex__first .
H51:   endidx__2 <= rr_type__linelengthindex__last .
        ->
C1:    endidx__2 >= rr_type__linelengthindex__first .
C2:    endidx__2 <= rr_type__linelengthindex__last .
C3:    begidx__2 >= rr_type__linelengthindex__first .
C4:    begidx__2 <= rr_type__linelengthindex__last .
 

For path(s) from start to finish:

procedure_parseipv6_10.
*** true .          /* trivially true VC removed by Examiner */


procedure_parseipv6_11.
*** true .          /* trivially true VC removed by Examiner */


procedure_parseipv6_12.
*** true .          /* trivially true VC removed by Examiner */


For path(s) from assertion of line 852 to finish:

procedure_parseipv6_13.
*** true .          /* trivially true VC removed by Examiner */


procedure_parseipv6_14.
*** true .          /* trivially true VC removed by Examiner */


procedure_parseipv6_15.
*** true .          /* trivially true VC removed by Examiner */


