src/HOL/SPARK/Examples/RIPEMD-160/rmd/hash.fdl
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
                               {FDL 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
title function hash;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    14
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    15
  function round__(real) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    16
  type interfaces__unsigned_32 = integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    17
  type block_index = integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    18
  type message_index = integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    19
  type chain = record
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    20
        h0 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    21
        h1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    22
        h2 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    23
        h3 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    24
        h4 : integer
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    25
     end;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    26
  type block = array [integer] of integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    27
  type message = array [integer] of block;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
  const ca_init : integer = pending;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
  const cb_init : integer = pending;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
  const cc_init : integer = pending;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
  const cd_init : integer = pending;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
  const ce_init : integer = pending;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
  const message_index__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
  const message_index__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    35
  const block_index__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    36
  const block_index__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    37
  const word__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    38
  const word__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    39
  const interfaces__unsigned_32__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
  const interfaces__unsigned_32__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
  const x__index__subtype__1__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
  const x__index__subtype__1__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
  const message_index__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
  const message_index__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
  const message_index__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
  const block_index__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
  const block_index__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
  const block_index__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
  const chain__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
  const word__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
  const word__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
  const word__modulus : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
  const word__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
  const interfaces__unsigned_32__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
  const interfaces__unsigned_32__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
  const interfaces__unsigned_32__modulus : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
  const interfaces__unsigned_32__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
  var x : message;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
  var ca : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
  var cb : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
  var cc : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
  var cd : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
  var ce : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
  var loop__1__i : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
  function rmd_hash(message, integer) : chain;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
  function round_spec(chain, block) : chain;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
  function rounds(chain, integer, message) : chain;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
  var ce__1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    69
  var cd__1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
  var cc__1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    71
  var cb__1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    72
  var ca__1 : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    73
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
end;