src/HOL/SPARK/Examples/RIPEMD-160/rmd/hash.siv
author wenzelm
Mon, 20 May 2024 15:43:51 +0200
changeset 80182 29f2b8ff84f3
parent 41561 d1318f3c86ba
permissions -rw-r--r--
proper support for "isabelle update -D DIR": avoid accidental exclusion of select_dirs (amending e5dafe9e120f);
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:20  SIMPLIFIED 29-NOV-2010, 14:30:20
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
function RMD.Hash
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 170:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
function_hash_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 171:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
function_hash_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 172:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
function_hash_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 173:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
function_hash_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 run-time check associated with statement of line 174:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
function_hash_5.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
For path(s) from start to run-time check associated with statement of line 175:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
function_hash_6.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
For path(s) from start to run-time check associated with statement of line 175:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
function_hash_7.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
For path(s) from start to run-time check associated with statement of line 177:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
function_hash_8.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
For path(s) from assertion of line 178 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
          statement of line 177:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    69
function_hash_9.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
*** true .          /* all conclusions proved */
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 start to run-time check associated with statement of line 177:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    75
function_hash_10.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    76
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    77
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    78
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    79
For path(s) from assertion of line 178 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    80
          statement of line 177:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    81
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    82
function_hash_11.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    83
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    84
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    85
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    86
For path(s) from start to assertion of line 178:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    87
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    88
function_hash_12.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    89
H1:    x__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    90
H2:    for_all(i___2 : integer, 0 <= i___2 and i___2 <= 15 -> for_all(i___1 : 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    91
          integer, x__index__subtype__1__first <= i___1 and i___1 <= 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    92
          x__index__subtype__1__last -> 0 <= element(element(x, [i___1]), [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    93
          i___2]) and element(element(x, [i___1]), [i___2]) <= 4294967295)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    94
H3:    x__index__subtype__1__last >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    95
H4:    x__index__subtype__1__last <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    96
H5:    x__index__subtype__1__first <= x__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    97
H6:    mk__chain(h0 := ca__1, h1 := cb__1, h2 := cc__1, h3 := cd__1, h4 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    98
          ce__1) = round_spec(mk__chain(h0 := 1732584193, h1 := 4023233417, h2 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    99
          := 2562383102, h3 := 271733878, h4 := 3285377520), element(x, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   100
          x__index__subtype__1__first])) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   101
H7:    ca__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   102
H8:    ca__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   103
H9:    cb__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   104
H10:   cb__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   105
H11:   cc__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   106
H12:   cc__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   107
H13:   cd__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   108
H14:   cd__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   109
H15:   ce__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   110
H16:   ce__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   111
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   112
C1:    mk__chain(h0 := ca__1, h1 := cb__1, h2 := cc__1, h3 := cd__1, h4 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   113
          ce__1) = rounds(mk__chain(h0 := 1732584193, h1 := 4023233417, h2 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   114
          2562383102, h3 := 271733878, h4 := 3285377520), 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   115
          x__index__subtype__1__first + 1, x) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   116
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   117
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   118
For path(s) from assertion of line 178 to assertion of line 178:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   119
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   120
function_hash_13.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   121
H1:    mk__chain(h0 := ca, h1 := cb, h2 := cc, h3 := cd, h4 := ce) = rounds(
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   122
          mk__chain(h0 := 1732584193, h1 := 4023233417, h2 := 2562383102, h3 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   123
          271733878, h4 := 3285377520), loop__1__i + 1, x) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   124
H2:    for_all(i___2 : integer, 0 <= i___2 and i___2 <= 15 -> for_all(i___1 : 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   125
          integer, x__index__subtype__1__first <= i___1 and i___1 <= 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   126
          x__index__subtype__1__last -> 0 <= element(element(x, [i___1]), [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   127
          i___2]) and element(element(x, [i___1]), [i___2]) <= 4294967295)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   128
H3:    x__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   129
H4:    loop__1__i >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   130
H5:    loop__1__i <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   131
H6:    loop__1__i >= x__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   132
H7:    ca >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   133
H8:    ca <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   134
H9:    cb >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   135
H10:   cb <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   136
H11:   cc >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   137
H12:   cc <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   138
H13:   cd >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   139
H14:   cd <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   140
H15:   ce >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   141
H16:   ce <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   142
H17:   loop__1__i + 1 <= x__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   143
H18:   mk__chain(h0 := ca__1, h1 := cb__1, h2 := cc__1, h3 := cd__1, h4 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   144
          ce__1) = round_spec(mk__chain(h0 := ca, h1 := cb, h2 := cc, h3 := cd, 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   145
          h4 := ce), element(x, [loop__1__i + 1])) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   146
H19:   ca__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   147
H20:   ca__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   148
H21:   cb__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   149
H22:   cb__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   150
H23:   cc__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   151
H24:   cc__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   152
H25:   cd__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   153
H26:   cd__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   154
H27:   ce__1 >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   155
H28:   ce__1 <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   156
H29:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   157
H30:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   158
H31:   chain__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   159
H32:   block_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   160
H33:   block_index__base__first <= block_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   161
H34:   message_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   162
H35:   message_index__base__first <= message_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   163
H36:   x__index__subtype__1__first <= x__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   164
H37:   block_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   165
H38:   block_index__base__last >= 15 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   166
H39:   message_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   167
H40:   x__index__subtype__1__first >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   168
H41:   x__index__subtype__1__last >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   169
H42:   message_index__base__last >= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   170
H43:   x__index__subtype__1__last <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   171
H44:   x__index__subtype__1__first <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   172
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   173
C1:    mk__chain(h0 := ca__1, h1 := cb__1, h2 := cc__1, h3 := cd__1, h4 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   174
          ce__1) = rounds(mk__chain(h0 := 1732584193, h1 := 4023233417, h2 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   175
          2562383102, h3 := 271733878, h4 := 3285377520), loop__1__i + 2, x) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   176
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   177
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   178
For path(s) from start to run-time check associated with statement of line 183:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   179
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   180
function_hash_14.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   181
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   182
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   183
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   184
For path(s) from assertion of line 178 to run-time check associated with 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   185
          statement of line 183:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   186
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   187
function_hash_15.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   188
*** true .          /* all conclusions proved */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   189
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   190
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   191
For path(s) from start to finish:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   192
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   193
function_hash_16.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   194
*** true .   /* contradiction within hypotheses. */
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   195
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   196
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   197
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   198
For path(s) from assertion of line 178 to finish:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   199
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   200
function_hash_17.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   201
H1:    mk__chain(h0 := ca, h1 := cb, h2 := cc, h3 := cd, h4 := ce) = rounds(
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   202
          mk__chain(h0 := 1732584193, h1 := 4023233417, h2 := 2562383102, h3 := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   203
          271733878, h4 := 3285377520), x__index__subtype__1__last + 1, x) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   204
H2:    for_all(i___2 : integer, 0 <= i___2 and i___2 <= 15 -> for_all(i___1 : 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   205
          integer, x__index__subtype__1__first <= i___1 and i___1 <= 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   206
          x__index__subtype__1__last -> 0 <= element(element(x, [i___1]), [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   207
          i___2]) and element(element(x, [i___1]), [i___2]) <= 4294967295)) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   208
H3:    x__index__subtype__1__first = 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   209
H4:    x__index__subtype__1__last >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   210
H5:    x__index__subtype__1__last <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   211
H6:    x__index__subtype__1__last >= x__index__subtype__1__first .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   212
H7:    ca >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   213
H8:    ca <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   214
H9:    cb >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   215
H10:   cb <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   216
H11:   cc >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   217
H12:   cc <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   218
H13:   cd >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   219
H14:   cd <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   220
H15:   ce >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   221
H16:   ce <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   222
H17:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   223
H18:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   224
H19:   chain__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   225
H20:   block_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   226
H21:   block_index__base__first <= block_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   227
H22:   message_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   228
H23:   message_index__base__first <= message_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   229
H24:   x__index__subtype__1__first <= x__index__subtype__1__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   230
H25:   block_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   231
H26:   block_index__base__last >= 15 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   232
H27:   message_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   233
H28:   x__index__subtype__1__first >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   234
H29:   message_index__base__last >= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   235
H30:   x__index__subtype__1__first <= 4294967296 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   236
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   237
C1:    mk__chain(h0 := ca, h1 := cb, h2 := cc, h3 := cd, h4 := ce) = rmd_hash(
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   238
          x, x__index__subtype__1__last + 1) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   239
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   240