src/HOL/SPARK/Examples/RIPEMD-160/rmd/f.siv
author wenzelm
Mon, 13 Apr 2020 22:08:14 +0200
changeset 71751 abf3e80bd815
parent 41561 d1318f3c86ba
permissions -rw-r--r--
tuned NEWS;
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:19  SIMPLIFIED 29-NOV-2010, 14:30:28
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.F
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 9:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
function_f_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 10:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
function_f_2.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    27
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
H7:    16 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
H8:    j <= 31 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    35
H9:    interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    36
H10:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
H11:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
H12:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    39
H13:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
H14:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
C1:    bit__or(bit__and(x, y), bit__and(4294967295 - x, z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
C2:    bit__or(bit__and(x, y), bit__and(4294967295 - x, z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
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
    47
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
function_f_3.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
H7:    32 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
H8:    j <= 47 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
H9:    interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
H10:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
H11:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
H12:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
H13:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
H14:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
C1:    bit__xor(bit__or(x, 4294967295 - y), z) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
C2:    bit__xor(bit__or(x, 4294967295 - y), z) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
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
    69
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
function_f_4.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    71
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    72
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    73
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    75
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    76
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    77
H7:    48 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    78
H8:    j <= 63 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    79
H9:    interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    80
H10:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    81
H11:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    82
H12:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    83
H13:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    84
H14:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    85
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    86
C1:    bit__or(bit__and(x, z), bit__and(y, 4294967295 - z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    87
C2:    bit__or(bit__and(x, z), bit__and(y, 4294967295 - z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    88
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    89
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    90
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
    91
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    92
function_f_5.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    93
H1:    j >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    94
H2:    j <= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    95
H3:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    96
H4:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    97
H5:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    98
H6:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    99
H7:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   100
H8:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   101
H9:    15 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   102
H10:   31 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   103
H11:   47 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   104
H12:   63 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   105
H13:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   106
H14:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   107
H15:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   108
H16:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   109
H17:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   110
H18:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   111
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   112
C1:    bit__xor(x, bit__or(y, 4294967295 - z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   113
C2:    bit__xor(x, bit__or(y, 4294967295 - z)) <= 4294967295 .
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 start to finish:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   117
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   118
function_f_6.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   119
H1:    j >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   120
H2:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   121
H3:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   122
H4:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   123
H5:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   124
H6:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   125
H7:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   126
H8:    j <= 15 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   127
H9:    bit__xor(x, bit__xor(y, z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   128
H10:   bit__xor(x, bit__xor(y, z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   129
H11:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   130
H12:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   131
H13:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   132
H14:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   133
H15:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   134
H16:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   135
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   136
C1:    bit__xor(x, bit__xor(y, z)) = f_spec(j, x, y, z) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   137
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   138
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   139
function_f_7.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   140
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   141
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   142
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   143
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   144
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   145
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   146
H7:    16 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   147
H8:    j <= 31 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   148
H9:    bit__or(bit__and(x, y), bit__and(4294967295 - x, z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   149
H10:   bit__or(bit__and(x, y), bit__and(4294967295 - x, z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   150
H11:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   151
H12:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   152
H13:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   153
H14:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   154
H15:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   155
H16:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   156
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   157
C1:    bit__or(bit__and(x, y), bit__and(4294967295 - x, z)) = f_spec(j, x, y, z)
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   158
           .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   159
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   160
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   161
function_f_8.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   162
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   163
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   164
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   165
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   166
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   167
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   168
H7:    32 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   169
H8:    j <= 47 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   170
H9:    bit__xor(bit__or(x, 4294967295 - y), z) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   171
H10:   bit__xor(bit__or(x, 4294967295 - y), z) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   172
H11:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   173
H12:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   174
H13:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   175
H14:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   176
H15:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   177
H16:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   178
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   179
C1:    bit__xor(bit__or(x, 4294967295 - y), z) = f_spec(j, x, y, z) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   180
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   181
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   182
function_f_9.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   183
H1:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   184
H2:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   185
H3:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   186
H4:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   187
H5:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   188
H6:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   189
H7:    48 <= j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   190
H8:    j <= 63 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   191
H9:    bit__or(bit__and(x, z), bit__and(y, 4294967295 - z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   192
H10:   bit__or(bit__and(x, z), bit__and(y, 4294967295 - z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   193
H11:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   194
H12:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   195
H13:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   196
H14:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   197
H15:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   198
H16:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   199
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   200
C1:    bit__or(bit__and(x, z), bit__and(y, 4294967295 - z)) = f_spec(j, x, y, z)
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   201
           .
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
function_f_10.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   205
H1:    j >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   206
H2:    j <= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   207
H3:    x >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   208
H4:    x <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   209
H5:    y >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   210
H6:    y <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   211
H7:    z >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   212
H8:    z <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   213
H9:    15 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   214
H10:   31 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   215
H11:   47 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   216
H12:   63 < j .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   217
H13:   bit__xor(x, bit__or(y, 4294967295 - z)) >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   218
H14:   bit__xor(x, bit__or(y, 4294967295 - z)) <= 4294967295 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   219
H15:   interfaces__unsigned_32__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   220
H16:   word__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   221
H17:   round_index__size >= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   222
H18:   round_index__base__first <= round_index__base__last .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   223
H19:   round_index__base__first <= 0 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   224
H20:   round_index__base__last >= 79 .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   225
       ->
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   226
C1:    bit__xor(x, bit__or(y, 4294967295 - z)) = f_spec(j, x, y, z) .
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   227
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   228