IOA/meta_theory/Asig.thy
author clasohm
Wed, 02 Nov 1994 11:50:09 +0100
changeset 156 fd1be45b64bf
child 168 44ff2275d44f
permissions -rw-r--r--
added IOA to isabelle/HOL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
156
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     1
Asig = Option +
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     2
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     3
types 
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     4
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     5
'a signature = "('a set * 'a set * 'a set)"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     6
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     7
consts
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     8
  actions,inputs,outputs,internals,externals
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
     9
                ::"'action signature => 'action set"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    10
  is_asig       ::"'action signature => bool"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    11
  mk_ext_asig   ::"'action signature => 'action signature"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    12
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    13
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    14
rules
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    15
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    16
asig_projections_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    17
   "inputs = fst  & outputs = (fst o snd)  & internals = (snd o snd)"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    18
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    19
actions_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    20
   "actions(asig) == (inputs(asig) Un outputs(asig) Un internals(asig))"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    21
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    22
externals_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    23
   "externals(asig) == (inputs(asig) Un outputs(asig))"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    24
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    25
is_asig_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    26
  "is_asig(triple) ==            \
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    27
   \  ((inputs(triple) Int outputs(triple) = {})    & \
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    28
   \   (outputs(triple) Int internals(triple) = {}) & \
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    29
   \   (inputs(triple) Int internals(triple) = {}))"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    30
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    31
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    32
mk_ext_asig_def
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    33
  "mk_ext_asig(triple) == <inputs(triple), outputs(triple), {}>"
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    34
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    35
fd1be45b64bf added IOA to isabelle/HOL
clasohm
parents:
diff changeset
    36
end