src/HOL/SPARK/Examples/Liseq/liseq/liseq_length.siv
author wenzelm
Tue, 22 Jul 2025 12:02:53 +0200
changeset 82894 a8e47bd31965
parent 41561 d1318f3c86ba
permissions -rw-r--r--
back to more basic defaults, independently on the accidental L&F: e.g. relevant for editor_style=false, and session_graph.pdf;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41561
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     1
*****************************************************************************
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     2
                       Semantic Analysis of SPARK Text
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     3
    Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     4
             Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     5
*****************************************************************************
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     6
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     7
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     8
CREATED 29-NOV-2010, 14:30:13  SIMPLIFIED 29-NOV-2010, 14:30:13
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     9
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    10
SPARK Simplifier Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    11
Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    12
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    13
procedure Liseq.Liseq_length
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    14
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    15
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    16
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    17
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    18
For path(s) from start to run-time check associated with statement of line 11:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
procedure_liseq_length_1.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    21
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    22
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    23
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    24
For path(s) from start to run-time check associated with statement of line 12:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
procedure_liseq_length_2.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    27
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
For path(s) from start to run-time check associated with statement of line 13:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
procedure_liseq_length_3.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    35
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    36
For path(s) from start to run-time check associated with statement of line 14:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
procedure_liseq_length_4.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    39
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
For path(s) from start to assertion of line 15:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
procedure_liseq_length_5.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
H1:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
H2:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
H3:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
H4:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
H5:    for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
H6:    for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
H7:    0 <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
H8:    integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
H9:    a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
H10:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
H11:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
H12:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
H13:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
H14:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
H15:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
H16:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
H17:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
H18:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
C1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= 0 -> element(update(l, [0], 1)
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    69
          , [i2_]) = liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
C2:    1 = liseq_prfx(a, 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    71
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    72
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    73
For path(s) from assertion of line 15 to assertion of line 15:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    75
procedure_liseq_length_6.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    76
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    77
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    78
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    79
H3:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    80
H4:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    81
H5:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    82
H6:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    83
H7:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    84
H8:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    85
H9:    for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    86
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    87
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    88
H10:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    89
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    90
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    91
H11:   i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    92
H12:   pmax >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    93
H13:   i <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    94
H14:   element(a, [pmax]) <= element(a, [i]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    95
H15:   element(l, [pmax]) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    96
H16:   element(l, [pmax]) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    97
H17:   i >= l__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    98
H18:   i <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    99
H19:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   100
H20:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   101
H21:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   102
H22:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   103
H23:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   104
H24:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   105
H25:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   106
H26:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   107
H27:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   108
H28:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   109
H29:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   110
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   111
C1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i -> element(update(l, [i], 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   112
          element(l, [pmax]) + 1), [i2_]) = liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   113
C2:    element(l, [pmax]) + 1 = liseq_prfx(a, i + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   114
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   115
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   116
For path(s) from assertion of line 26 to assertion of line 15:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   117
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   118
procedure_liseq_length_7.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   119
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   120
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   121
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   122
H3:    i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   123
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   124
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   125
H6:    0 <= i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   126
H7:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   127
H8:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   128
H9:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   129
H10:   a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   130
H11:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   131
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   132
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   133
H12:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   134
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   135
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   136
H13:   i <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   137
H14:   max_ext(a, i, i) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   138
H15:   max_ext(a, i, i) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   139
H16:   i >= l__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   140
H17:   element(l, [pmax]) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   141
H18:   max_ext(a, i, i) + 1 > element(l, [pmax]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   142
H19:   element(l, [pmax]) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   143
H20:   i <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   144
H21:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   145
H22:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   146
H23:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   147
H24:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   148
H25:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   149
H26:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   150
H27:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   151
H28:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   152
H29:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   153
H30:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   154
H31:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   155
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   156
C1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i -> element(update(l, [i], 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   157
          max_ext(a, i, i) + 1), [i2_]) = liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   158
C2:    max_ext(a, i, i) + 1 = element(l, [pmax]) + 1 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   159
C3:    max_ext(a, i, i) + 1 = liseq_prfx(a, i + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   160
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   161
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   162
procedure_liseq_length_8.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   163
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   164
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   165
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   166
H3:    i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   167
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   168
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   169
H6:    0 <= i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   170
H7:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   171
H8:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   172
H9:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   173
H10:   a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   174
H11:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   175
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   176
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   177
H12:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   178
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   179
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   180
H13:   i <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   181
H14:   max_ext(a, i, i) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   182
H15:   max_ext(a, i, i) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   183
H16:   i >= l__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   184
H17:   element(l, [pmax]) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   185
H18:   max_ext(a, i, i) + 1 <= element(l, [pmax]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   186
H19:   i <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   187
H20:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   188
H21:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   189
H22:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   190
H23:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   191
H24:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   192
H25:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   193
H26:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   194
H27:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   195
H28:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   196
H29:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   197
H30:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   198
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   199
C1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i -> element(update(l, [i], 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   200
          max_ext(a, i, i) + 1), [i2_]) = liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   201
C2:    element(l, [pmax]) = liseq_prfx(a, i + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   202
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   203
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   204
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   205
          statement of line 23:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   206
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   207
procedure_liseq_length_9.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   208
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   209
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   210
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   211
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   212
          statement of line 24:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   213
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   214
procedure_liseq_length_10.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   215
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   216
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   217
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   218
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   219
          statement of line 25:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   220
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   221
procedure_liseq_length_11.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   222
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   223
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   224
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   225
For path(s) from assertion of line 15 to assertion of line 26:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   226
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   227
procedure_liseq_length_12.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   228
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   229
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   230
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   231
H3:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   232
H4:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   233
H5:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   234
H6:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   235
H7:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   236
H8:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   237
H9:    for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   238
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   239
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   240
H10:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   241
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   242
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   243
H11:   i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   244
H12:   pmax <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   245
H13:   pmax >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   246
H14:   i <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   247
H15:   element(a, [i]) < element(a, [pmax]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   248
H16:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   249
H17:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   250
H18:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   251
H19:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   252
H20:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   253
H21:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   254
H22:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   255
H23:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   256
H24:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   257
H25:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   258
H26:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   259
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   260
C1:    0 = max_ext(a, i, 0) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   261
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   262
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   263
For path(s) from assertion of line 26 to assertion of line 26:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   264
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   265
procedure_liseq_length_13.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   266
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   267
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   268
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   269
H3:    i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   270
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   271
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   272
H6:    0 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   273
H7:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   274
H8:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   275
H9:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   276
H10:   a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   277
H11:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   278
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   279
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   280
H12:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   281
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   282
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   283
H13:   j < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   284
H14:   max_ext(a, i, j) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   285
H15:   max_ext(a, i, j) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   286
H16:   j >= l__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   287
H17:   i >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   288
H18:   i <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   289
H19:   j >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   290
H20:   j <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   291
H21:   element(a, [j]) <= element(a, [i]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   292
H22:   max_ext(a, i, j) < element(l, [j]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   293
H23:   element(l, [j]) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   294
H24:   element(l, [j]) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   295
H25:   j <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   296
H26:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   297
H27:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   298
H28:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   299
H29:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   300
H30:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   301
H31:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   302
H32:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   303
H33:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   304
H34:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   305
H35:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   306
H36:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   307
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   308
C1:    element(l, [j]) = max_ext(a, i, j + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   309
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   310
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   311
procedure_liseq_length_14.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   312
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   313
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   314
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   315
H3:    i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   316
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   317
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   318
H6:    0 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   319
H7:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   320
H8:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   321
H9:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   322
H10:   a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   323
H11:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   324
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   325
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   326
H12:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   327
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   328
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   329
H13:   j < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   330
H14:   max_ext(a, i, j) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   331
H15:   max_ext(a, i, j) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   332
H16:   j >= l__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   333
H17:   i >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   334
H18:   i <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   335
H19:   j >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   336
H20:   j <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   337
H21:   element(a, [i]) < element(a, [j]) or element(l, [j]) <= max_ext(a, i, j) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   338
          .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   339
H22:   j <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   340
H23:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   341
H24:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   342
H25:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   343
H26:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   344
H27:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   345
H28:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   346
H29:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   347
H30:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   348
H31:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   349
H32:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   350
H33:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   351
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   352
C1:    max_ext(a, i, j) = max_ext(a, i, j + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   353
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   354
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   355
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   356
          statement of line 36:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   357
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   358
procedure_liseq_length_15.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   359
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   360
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   361
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   362
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   363
          statement of line 38:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   364
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   365
procedure_liseq_length_16.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   366
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   367
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   368
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   369
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   370
          statement of line 40:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   371
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   372
procedure_liseq_length_17.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   373
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   374
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   375
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   376
procedure_liseq_length_18.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   377
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   378
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   379
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   380
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   381
          statement of line 42:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   382
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   383
procedure_liseq_length_19.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   384
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   385
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   386
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   387
H3:    i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   388
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   389
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   390
H6:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   391
H7:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   392
H8:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   393
H9:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   394
H10:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   395
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   396
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   397
H11:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   398
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   399
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   400
H12:   i <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   401
H13:   max_ext(a, i, i) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   402
H14:   max_ext(a, i, i) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   403
H15:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   404
H16:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   405
H17:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   406
H18:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   407
H19:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   408
H20:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   409
H21:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   410
H22:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   411
H23:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   412
H24:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   413
H25:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   414
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   415
C1:    max_ext(a, i, i) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   416
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   417
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   418
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   419
          statement of line 43:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   420
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   421
procedure_liseq_length_20.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   422
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   423
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   424
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   425
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   426
          statement of line 44:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   427
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   428
procedure_liseq_length_21.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   429
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   430
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   431
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   432
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   433
          statement of line 45:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   434
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   435
procedure_liseq_length_22.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   436
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   437
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   438
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   439
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   440
          statement of line 48:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   441
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   442
procedure_liseq_length_23.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   443
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   444
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   445
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   446
H3:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   447
H4:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   448
H5:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   449
H6:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   450
H7:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   451
H8:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   452
H9:    for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   453
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   454
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   455
H10:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   456
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   457
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   458
H11:   i <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   459
H12:   pmax <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   460
H13:   pmax >= a__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   461
H14:   i <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   462
H15:   element(a, [pmax]) <= element(a, [i]) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   463
H16:   element(l, [pmax]) >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   464
H17:   element(l, [pmax]) <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   465
H18:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   466
H19:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   467
H20:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   468
H21:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   469
H22:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   470
H23:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   471
H24:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   472
H25:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   473
H26:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   474
H27:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   475
H28:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   476
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   477
C1:    element(l, [pmax]) <= 2147483646 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   478
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   479
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   480
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   481
          statement of line 49:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   482
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   483
procedure_liseq_length_24.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   484
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   485
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   486
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   487
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   488
          statement of line 50:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   489
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   490
procedure_liseq_length_25.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   491
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   492
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   493
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   494
For path(s) from assertion of line 15 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   495
          statement of line 52:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   496
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   497
procedure_liseq_length_26.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   498
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   499
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   500
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   501
For path(s) from assertion of line 26 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   502
          statement of line 52:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   503
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   504
procedure_liseq_length_27.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   505
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   506
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   507
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   508
procedure_liseq_length_28.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   509
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   510
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   511
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   512
For path(s) from assertion of line 15 to finish:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   513
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   514
procedure_liseq_length_29.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   515
H1:    for_all(i2_ : integer, 0 <= i2_ and i2_ <= i - 1 -> element(l, [i2_]) = 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   516
          liseq_ends_at(a, i2_)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   517
H2:    element(l, [pmax]) = liseq_prfx(a, i) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   518
H3:    i <= l__index__subtype__1__last + 1 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   519
H4:    0 <= pmax .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   520
H5:    pmax < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   521
H6:    a__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   522
H7:    l__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   523
H8:    a__index__subtype__1__last = l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   524
H9:    a__index__subtype__1__last < 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   525
H10:   for_all(i___1 : integer, a__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   526
          <= a__index__subtype__1__last -> - 2147483648 <= element(a, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   527
          and element(a, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   528
H11:   for_all(i___1 : integer, l__index__subtype__1__first <= i___1 and i___1 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   529
          <= l__index__subtype__1__last -> - 2147483648 <= element(l, [i___1]) 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   530
          and element(l, [i___1]) <= 2147483647) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   531
H12:   i <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   532
H13:   l__index__subtype__1__last < i .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   533
H14:   integer__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   534
H15:   a__index__subtype__1__first <= a__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   535
H16:   l__index__subtype__1__first <= l__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   536
H17:   a__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   537
H18:   a__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   538
H19:   l__index__subtype__1__first >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   539
H20:   l__index__subtype__1__last >= - 2147483648 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   540
H21:   a__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   541
H22:   a__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   542
H23:   l__index__subtype__1__last <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   543
H24:   l__index__subtype__1__first <= 2147483647 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   544
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   545
C1:    element(l, [pmax]) = liseq_prfx(a, a__index__subtype__1__last + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   546
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   547