IOA/meta_theory/Asig.thy
author clasohm
Wed, 21 Jun 1995 15:12:40 +0200
changeset 249 492493334e0f
parent 168 44ff2275d44f
permissions -rw-r--r--
removed \...\ inside strings
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
168
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     1
(*  Title:      HOL/IOA/meta_theory/Asig.thy
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     2
    ID:         $Id$
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     3
    Author:     Tobias Nipkow & Konrad Slind
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     4
    Copyright   1994  TU Muenchen
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     5
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     6
Action signatures
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     7
*)
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
     8
156
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     9
Asig = Option +
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    10
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    11
types 
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    12
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    13
'a signature = "('a set * 'a set * 'a set)"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    14
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    15
consts
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    16
  actions,inputs,outputs,internals,externals
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    17
                ::"'action signature => 'action set"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    18
  is_asig       ::"'action signature => bool"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    19
  mk_ext_asig   ::"'action signature => 'action signature"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    20
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    21
168
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
    22
defs
156
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    23
168
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
    24
asig_inputs_def    "inputs == fst"
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
    25
asig_outputs_def   "outputs == (fst o snd)"
44ff2275d44f Added headers and made various small mods.
nipkow
parents: 156
diff changeset
    26
asig_internals_def "internals == (snd o snd)"
156
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    27
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    28
actions_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    29
   "actions(asig) == (inputs(asig) Un outputs(asig) Un internals(asig))"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    30
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    31
externals_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    32
   "externals(asig) == (inputs(asig) Un outputs(asig))"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    33
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    34
is_asig_def
249
492493334e0f removed \...\ inside strings
clasohm
parents: 168
diff changeset
    35
  "is_asig(triple) ==            
492493334e0f removed \...\ inside strings
clasohm
parents: 168
diff changeset
    36
      ((inputs(triple) Int outputs(triple) = {})    & 
492493334e0f removed \...\ inside strings
clasohm
parents: 168
diff changeset
    37
       (outputs(triple) Int internals(triple) = {}) & 
492493334e0f removed \...\ inside strings
clasohm
parents: 168
diff changeset
    38
       (inputs(triple) Int internals(triple) = {}))"
156
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    39
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    40
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    41
mk_ext_asig_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    42
  "mk_ext_asig(triple) == <inputs(triple), outputs(triple), {}>"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    43
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    44
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    45
end