src/HOL/TLA/Memory/MemClerkParameters.thy
author wenzelm
Sat, 17 Dec 2005 01:00:40 +0100
changeset 18428 4059413acbc1
parent 17309 c43ed29bd197
child 21624 6f79647cf536
permissions -rw-r--r--
sort_distinct;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     1
(*
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     2
    File:        MemClerkParameters.thy
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
     3
    ID:          $Id$
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     4
    Author:      Stephan Merz
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     5
    Copyright:   1997 University of Munich
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     6
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     7
    Theory Name: MemClerkParameters
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     8
    Logic Image: TLA
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     9
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    10
    RPC-Memory example: Parameters of the memory clerk.
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    11
*)
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    12
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    13
theory MemClerkParameters
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    14
imports RPCParameters
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    15
begin
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    16
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    17
datatype mClkState = clkA | clkB
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    18
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    19
types
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    20
  (* types sent on the clerk's send and receive channels are argument types
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    21
     of the memory and the RPC, respectively *)
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    22
  mClkSndArgType   = "memOp"
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    23
  mClkRcvArgType   = "rpcOp"
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    24
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    25
constdefs
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    26
  (* translate a memory call to an RPC call *)
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    27
  MClkRelayArg     :: "memOp => rpcOp"
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    28
    "MClkRelayArg marg == memcall marg"
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    29
  (* translate RPC failures to memory failures *)
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    30
  MClkReplyVal     :: "Vals => Vals"
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents: 3807
diff changeset
    31
    "MClkReplyVal v == if v = RPCFailure then MemFailure else v"
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    32
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    33
ML {* use_legacy_bindings (the_context ()) *}
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 11703
diff changeset
    34
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    35
end