src/HOLCF/IOA/meta_theory/Asig.thy
author kleing
Thu, 26 May 2005 10:05:28 +0200
changeset 16088 f084ba24de29
parent 14981 e73f8140af78
child 17233 41eee2e7b465
permissions -rw-r--r--
cleaned up select_match do not return trivial matches made simp: t work
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$
12218
wenzelm
parents: 7661
diff changeset
     3
    Author:     Olaf Müller, Tobias Nipkow & Konrad Slind
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     4
12218
wenzelm
parents: 7661
diff changeset
     5
Action signatures.
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     6
*)
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     7
7661
8c3190b173aa depend on Main;
wenzelm
parents: 3433
diff changeset
     8
Asig = Main +
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     9
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    10
types 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    11
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    12
'a signature = "('a set * 'a set * 'a set)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    13
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    14
consts
3433
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    15
  actions,inputs,outputs,internals,externals,locals
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    16
                ::"'action signature => 'action set"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    17
  is_asig       ::"'action signature => bool"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    18
  mk_ext_asig   ::"'action signature => 'action signature"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    19
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
defs
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    22
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    23
asig_inputs_def    "inputs == fst"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    24
asig_outputs_def   "outputs == (fst o snd)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    25
asig_internals_def "internals == (snd o snd)"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    26
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    27
actions_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    28
   "actions(asig) == (inputs(asig) Un outputs(asig) Un internals(asig))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    29
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    30
externals_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    31
   "externals(asig) == (inputs(asig) Un outputs(asig))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    32
3433
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    33
locals_def
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    34
   "locals asig == ((internals asig) Un (outputs asig))"
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    35
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    36
is_asig_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    37
  "is_asig(triple) ==            
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    38
     ((inputs(triple) Int outputs(triple) = {})    & 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    39
      (outputs(triple) Int internals(triple) = {}) & 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    40
      (inputs(triple) Int internals(triple) = {}))"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    41
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    42
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    43
mk_ext_asig_def
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    44
  "mk_ext_asig(triple) == (inputs(triple), outputs(triple), {})"
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    45
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    46
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    47
end