src/HOLCF/IOA/meta_theory/Asig.ML
author paulson
Fri, 29 Jan 1999 16:23:56 +0100
changeset 6161 bc2a76ce1ea3
parent 5068 fb28eaa07e01
child 12218 6597093b77e7
permissions -rw-r--r--
tidied
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
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
    10
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4098
diff changeset
    11
Goal
3656
2df8a2bc3ee2 some minor changes;
mueller
parents: 3433
diff changeset
    12
 "(outputs    (a,b,c) = b)   & \
2df8a2bc3ee2 some minor changes;
mueller
parents: 3433
diff changeset
    13
\ (inputs     (a,b,c) = a) & \
2df8a2bc3ee2 some minor changes;
mueller
parents: 3433
diff changeset
    14
\ (internals  (a,b,c) = c)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    15
  by (simp_tac (simpset() addsimps asig_projections) 1);
3656
2df8a2bc3ee2 some minor changes;
mueller
parents: 3433
diff changeset
    16
qed "asig_triple_proj";
2df8a2bc3ee2 some minor changes;
mueller
parents: 3433
diff changeset
    17
6161
paulson
parents: 5068
diff changeset
    18
Goal "[| a~:internals(S) ;a~:externals(S)|] ==> a~:actions(S)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    19
by (asm_full_simp_tac (simpset() addsimps [externals_def,actions_def]) 1);
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    20
qed"int_and_ext_is_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    21
6161
paulson
parents: 5068
diff changeset
    22
Goal "[|a:externals(S)|] ==> a:actions(S)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    23
by (asm_full_simp_tac (simpset() addsimps [externals_def,actions_def]) 1);
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    24
qed"ext_is_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    25
6161
paulson
parents: 5068
diff changeset
    26
Goal "[|a:internals S|] ==> a:actions S";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    27
by (asm_full_simp_tac (simpset() addsimps [asig_internals_def,actions_def]) 1);
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    28
qed"int_is_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    29
6161
paulson
parents: 5068
diff changeset
    30
Goal "[|a:inputs S|] ==> a:actions S";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    31
by (asm_full_simp_tac (simpset() addsimps [asig_inputs_def,actions_def]) 1);
3433
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    32
qed"inp_is_act";
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    33
6161
paulson
parents: 5068
diff changeset
    34
Goal "[|a:outputs S|] ==> a:actions S";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    35
by (asm_full_simp_tac (simpset() addsimps [asig_outputs_def,actions_def]) 1);
3433
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    36
qed"out_is_act";
2de17c994071 added deadlock freedom, polished definitions and proofs
mueller
parents: 3275
diff changeset
    37
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4098
diff changeset
    38
Goal "(x: actions S & x : externals S) = (x: externals S)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    39
by (fast_tac (claset() addSIs [ext_is_act]) 1 );
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    40
qed"ext_and_act";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    41
 
6161
paulson
parents: 5068
diff changeset
    42
Goal "[|is_asig S;x: actions S|] ==> (x~:externals S) = (x: internals S)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    43
by (asm_full_simp_tac (simpset() addsimps [actions_def,is_asig_def,externals_def]) 1);
6161
paulson
parents: 5068
diff changeset
    44
by (Blast_tac 1);
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    45
qed"not_ext_is_int";
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    46
6161
paulson
parents: 5068
diff changeset
    47
Goal "is_asig S ==> (x~:externals S) = (x: internals S | x~:actions S)";
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 3656
diff changeset
    48
by (asm_full_simp_tac (simpset() addsimps [actions_def,is_asig_def,externals_def]) 1);
6161
paulson
parents: 5068
diff changeset
    49
by (Blast_tac 1);
3275
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    50
qed"not_ext_is_int_or_not_act";
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    51
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4098
diff changeset
    52
Goalw  [externals_def,actions_def,is_asig_def]
6161
paulson
parents: 5068
diff changeset
    53
 "[| is_asig (S); x:internals S |] ==> x~:externals S";
3071
981258186b71 New meta theory for IOA based on HOLCF.
mueller
parents:
diff changeset
    54
by (Asm_full_simp_tac 1);
6161
paulson
parents: 5068
diff changeset
    55
by (Blast_tac 1);
3275
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    56
qed"int_is_not_ext";
3f53f2c876f4 changes for release 94-8
mueller
parents: 3071
diff changeset
    57