src/HOL/SPARK/Examples/RIPEMD-160/rmd/round.fdl
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
                               {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:19.87}
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
     9
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    10
                            {procedure RMD.Round}
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 procedure round;
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 round_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 chain_pair = record
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    28
        left : chain;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    29
        right : chain
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    30
     end;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    31
  const rotate_amount__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    32
  const rotate_amount__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    33
  const round_index__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    34
  const round_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 wordops__rotate_amount__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    40
  const wordops__rotate_amount__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    41
  const wordops__word__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    42
  const wordops__word__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    43
  const interfaces__unsigned_32__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    44
  const interfaces__unsigned_32__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    45
  const integer__base__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    46
  const integer__base__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    47
  const rotate_amount__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    48
  const rotate_amount__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    49
  const rotate_amount__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    50
  const chain_pair__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    51
  const round_index__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    52
  const round_index__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    53
  const round_index__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    54
  const block_index__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    55
  const block_index__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    56
  const block_index__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    57
  const chain__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    58
  const word__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    59
  const word__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    60
  const word__modulus : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    61
  const word__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    62
  const wordops__rotate_amount__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    63
  const wordops__rotate_amount__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    64
  const wordops__rotate_amount__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    65
  const wordops__word__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    66
  const wordops__word__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    67
  const wordops__word__modulus : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    68
  const wordops__word__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    69
  const interfaces__unsigned_32__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    70
  const interfaces__unsigned_32__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    71
  const interfaces__unsigned_32__modulus : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    72
  const interfaces__unsigned_32__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    73
  const integer__first : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    74
  const integer__last : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    75
  const integer__size : integer = pending; 
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    76
  var ca : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    77
  var cb : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    78
  var cc : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    79
  var cd : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    80
  var ce : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    81
  var x : block;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    82
  var cla : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    83
  var clb : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    84
  var clc : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    85
  var cld : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    86
  var cle : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    87
  var cra : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    88
  var crb : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    89
  var crc : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    90
  var crd : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    91
  var cre : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    92
  var loop__1__j : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    93
  function wordops__rotate_left(integer, integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    94
  function wordops__rotate(integer, integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    95
  function f_spec(integer, integer, integer, integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    96
  function k_l_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    97
  function k_r_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    98
  function r_l_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
    99
  function r_r_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   100
  function s_l_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   101
  function s_r_spec(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   102
  function steps(chain_pair, integer, block) : chain_pair;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   103
  function round_spec(chain, block) : chain;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   104
  function f(integer, integer, integer, integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   105
  function k_l(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   106
  function k_r(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   107
  function r_l(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   108
  function r_r(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   109
  function s_l(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   110
  function s_r(integer) : integer;
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   111
d1318f3c86ba Added new SPARK verification environment.
berghofe
parents:
diff changeset
   112
end;