src/HOL/SPARK/Examples/RIPEMD-160/rmd/r_r.rls
author wenzelm
Wed, 04 Oct 2017 12:00:53 +0200
changeset 66787 64b47495676d
parent 41561 d1318f3c86ba
permissions -rw-r--r--
obsolete;
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
                           /*Proof Rule Declarations*/
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
                        /*DATE : 29-NOV-2010 14:30:19.81*/
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     9
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    10
                              /*function RMD.R_R*/
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    11
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    12
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    13
rule_family r_r_rules:
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    14
     X      requires [X:any] &
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    15
     X <= Y requires [X:ire, Y:ire] &
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    16
     X >= Y requires [X:ire, Y:ire].
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    17
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    18
r_r_rules(1): block_index__first <= element(r_values, [I]) may_be_deduced_from [0 <= I, I <= 79].
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
r_r_rules(2): element(r_values, [I]) <= block_index__last may_be_deduced_from [0 <= I, I <= 79].
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
r_r_rules(3): r_values may_be_replaced_by 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    21
           mk__block_permutation([round_index__first] := 5, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    22
           round_index__first + 1] := 14, [round_index__first + 2] := 7, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    23
           round_index__first + 3] := 0, [round_index__first + 4] := 9, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    24
           round_index__first + 5] := 2, [round_index__first + 6] := 11, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
           round_index__first + 7] := 4, [round_index__first + 8] := 13, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
           round_index__first + 9] := 6, [round_index__first + 10] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    27
           15, [round_index__first + 11] := 8, [round_index__first + 12] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
           1, [round_index__first + 13] := 10, [round_index__first + 14] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
           3, [round_index__first + 15] := 12, [round_index__first + 16] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
           6, [round_index__first + 17] := 11, [round_index__first + 18] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
           3, [round_index__first + 19] := 7, [round_index__first + 20] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
           0, [round_index__first + 21] := 13, [round_index__first + 22] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
           5, [round_index__first + 23] := 10, [round_index__first + 24] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
           14, [round_index__first + 25] := 15, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    35
           round_index__first + 26] := 8, [round_index__first + 27] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    36
           12, [round_index__first + 28] := 4, [round_index__first + 29] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
           9, [round_index__first + 30] := 1, [round_index__first + 31] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
           2, [round_index__first + 32] := 15, [round_index__first + 33] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    39
           5, [round_index__first + 34] := 1, [round_index__first + 35] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
           3, [round_index__first + 36] := 7, [round_index__first + 37] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
           14, [round_index__first + 38] := 6, [round_index__first + 39] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
           9, [round_index__first + 40] := 11, [round_index__first + 41] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
           8, [round_index__first + 42] := 12, [round_index__first + 43] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
           2, [round_index__first + 44] := 10, [round_index__first + 45] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
           0, [round_index__first + 46] := 4, [round_index__first + 47] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
           13, [round_index__first + 48] := 8, [round_index__first + 49] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
           6, [round_index__first + 50] := 4, [round_index__first + 51] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
           1, [round_index__first + 52] := 3, [round_index__first + 53] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
           11, [round_index__first + 54] := 15, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
           round_index__first + 55] := 0, [round_index__first + 56] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
           5, [round_index__first + 57] := 12, [round_index__first + 58] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
           2, [round_index__first + 59] := 13, [round_index__first + 60] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
           9, [round_index__first + 61] := 7, [round_index__first + 62] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
           10, [round_index__first + 63] := 14, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
           round_index__first + 64] := 12, [round_index__first + 65] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
           15, [round_index__first + 66] := 10, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
           round_index__first + 67] := 4, [round_index__first + 68] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
           1, [round_index__first + 69] := 5, [round_index__first + 70] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
           8, [round_index__first + 71] := 7, [round_index__first + 72] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
           6, [round_index__first + 73] := 2, [round_index__first + 74] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
           13, [round_index__first + 75] := 14, [
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
           round_index__first + 76] := 0, [round_index__first + 77] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
           3, [round_index__first + 78] := 9, [round_index__first + 79] := 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
           11).
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
r_r_rules(4): block_index__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
r_r_rules(5): block_index__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
r_r_rules(6): block_index__last may_be_replaced_by 15.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
r_r_rules(7): block_index__base__first <= block_index__base__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    69
r_r_rules(8): block_index__base__first <= block_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
r_r_rules(9): block_index__base__last >= block_index__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    71
r_r_rules(10): round_index__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    72
r_r_rules(11): round_index__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    73
r_r_rules(12): round_index__last may_be_replaced_by 79.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
r_r_rules(13): round_index__base__first <= round_index__base__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    75
r_r_rules(14): round_index__base__first <= round_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    76
r_r_rules(15): round_index__base__last >= round_index__last may_be_deduced.