src/HOL/SPARK/Examples/RIPEMD-160/rmd/hash.rls
author wenzelm
Fri, 20 Jul 2012 21:04:03 +0200
changeset 48373 527e2bad7cca
parent 41561 d1318f3c86ba
permissions -rw-r--r--
further imitation of "usedir" shell script; Pure/build observes build_images option, unlike traditional version; tuned signature;
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:20.17*/
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     9
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    10
                             /*function RMD.Hash*/
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 hash_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
hash_rules(1): ca_init may_be_replaced_by 1732584193.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
hash_rules(2): cb_init may_be_replaced_by 4023233417.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
hash_rules(3): cc_init may_be_replaced_by 2562383102.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    21
hash_rules(4): cd_init may_be_replaced_by 271733878.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    22
hash_rules(5): ce_init may_be_replaced_by 3285377520.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    23
hash_rules(6): interfaces__unsigned_32__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    24
hash_rules(7): interfaces__unsigned_32__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
hash_rules(8): interfaces__unsigned_32__last may_be_replaced_by 4294967295.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
hash_rules(9): interfaces__unsigned_32__base__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    27
hash_rules(10): interfaces__unsigned_32__base__last may_be_replaced_by 4294967295.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
hash_rules(11): interfaces__unsigned_32__modulus may_be_replaced_by 4294967296.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
hash_rules(12): word__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
hash_rules(13): word__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
hash_rules(14): word__last may_be_replaced_by 4294967295.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
hash_rules(15): word__base__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
hash_rules(16): word__base__last may_be_replaced_by 4294967295.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
hash_rules(17): word__modulus may_be_replaced_by 4294967296.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    35
hash_rules(18): chain__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    36
hash_rules(19): A = B may_be_deduced_from
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
     [goal(checktype(A,chain)),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
      goal(checktype(B,chain)),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    39
      fld_h0(A) = fld_h0(B),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
      fld_h1(A) = fld_h1(B),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
      fld_h2(A) = fld_h2(B),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
      fld_h3(A) = fld_h3(B),
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
      fld_h4(A) = fld_h4(B)].
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
hash_rules(20): block_index__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
hash_rules(21): block_index__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
hash_rules(22): block_index__last may_be_replaced_by 15.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
hash_rules(23): block_index__base__first <= block_index__base__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
hash_rules(24): block_index__base__first <= block_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
hash_rules(25): block_index__base__last >= block_index__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
hash_rules(26): message_index__size >= 0 may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
hash_rules(27): message_index__first may_be_replaced_by 0.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
hash_rules(28): message_index__last may_be_replaced_by 4294967296.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
hash_rules(29): message_index__base__first <= message_index__base__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
hash_rules(30): message_index__base__first <= message_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
hash_rules(31): message_index__base__last >= message_index__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
hash_rules(32): x__index__subtype__1__first >= message_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
hash_rules(33): x__index__subtype__1__last <= message_index__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
hash_rules(34): x__index__subtype__1__first <= 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
     x__index__subtype__1__last may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
hash_rules(35): x__index__subtype__1__last >= message_index__first may_be_deduced.
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
hash_rules(36): x__index__subtype__1__first <= message_index__last may_be_deduced.