src/HOLCF/IOA/meta_theory/Asig.thy
author mueller
Wed, 21 May 1997 15:08:52 +0200
changeset 3275 3f53f2c876f4
parent 3071 981258186b71
child 3433 2de17c994071
permissions -rw-r--r--
changes for release 94-8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     1
(*  Title:      HOL/IOA/meta_theory/Asig.thy
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     2
    ID:         $Id$
3275
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
     3
    Author:     Olaf Mueller, Tobias Nipkow & Konrad Slind
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
     4
    Copyright   1994, 1996 TU Muenchen
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     5
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     6
Action signatures
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     7
*)
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     8
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     9
Asig = Arith +
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    10
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    11
types 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    12
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    13
'a signature = "('a set * 'a set * 'a set)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    14
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    15
consts
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    16
  actions,inputs,outputs,internals,externals
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    17
                ::"'action signature => 'action set"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    18
  is_asig       ::"'action signature => bool"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    19
  mk_ext_asig   ::"'action signature => 'action signature"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    20
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    21
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    22
defs
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    23
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    24
asig_inputs_def    "inputs == fst"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    25
asig_outputs_def   "outputs == (fst o snd)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    26
asig_internals_def "internals == (snd o snd)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    27
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    28
actions_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    29
   "actions(asig) == (inputs(asig) Un outputs(asig) Un internals(asig))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    30
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    31
externals_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    32
   "externals(asig) == (inputs(asig) Un outputs(asig))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    33
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    34
is_asig_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    35
  "is_asig(triple) ==            
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    36
     ((inputs(triple) Int outputs(triple) = {})    & 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    37
      (outputs(triple) Int internals(triple) = {}) & 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    38
      (inputs(triple) Int internals(triple) = {}))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    39
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    40
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    41
mk_ext_asig_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    42
  "mk_ext_asig(triple) == (inputs(triple), outputs(triple), {})"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    43
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    44
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    45
end