src/HOLCF/IOA/meta_theory/Asig.ML
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.ML
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     2
    ID:         $Id$
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     3
    Author:     Olaf Mueller, Tobias Nipkow & Konrad Slind
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
     4
    Copyright   1994,1996  TU Muenchen
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
open Asig;
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
val asig_projections = [asig_inputs_def, asig_outputs_def, asig_internals_def];
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
goal thy "!!a.[| a~:internals(S) ;a~:externals(S)|] ==> a~:actions(S)";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    14
by (asm_full_simp_tac (!simpset addsimps [externals_def,actions_def]) 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    15
qed"int_and_ext_is_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    16
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    17
goal thy "!!a.[|a:externals(S)|] ==> a:actions(S)";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    18
by (asm_full_simp_tac (!simpset addsimps [externals_def,actions_def]) 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    19
qed"ext_is_act";
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
goal thy "!!a.[|a:internals S|] ==> a:actions S";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    22
by (asm_full_simp_tac (!simpset addsimps [asig_internals_def,actions_def]) 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    23
qed"int_is_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    24
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    25
goal thy "(x: actions S & x : externals S) = (x: externals S)";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    26
by (fast_tac (!claset addSIs [ext_is_act]) 1 );
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    27
qed"ext_and_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    28
 
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    29
goal thy "!!S. [|is_asig S;x: actions S|] ==> (x~:externals S) = (x: internals S)";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    30
by (asm_full_simp_tac (!simpset addsimps [actions_def,is_asig_def,externals_def]) 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    31
by (best_tac (set_cs addEs [equalityCE]) 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    32
qed"not_ext_is_int";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    33
3275
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    34
goal thy "!!S. is_asig S ==> (x~:externals S) = (x: internals S | x~:actions S)";
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    35
by (asm_full_simp_tac (!simpset addsimps [actions_def,is_asig_def,externals_def]) 1);
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    36
by (best_tac (set_cs addEs [equalityCE]) 1);
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    37
qed"not_ext_is_int_or_not_act";
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    38
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    39
goalw thy  [externals_def,actions_def,is_asig_def]
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    40
 "!! x. [| is_asig (S); x:internals S |] ==> x~:externals S";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    41
by (Asm_full_simp_tac 1);
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    42
by (best_tac (set_cs addEs [equalityCE]) 1);
3275
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    43
qed"int_is_not_ext";
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    44