src/HOLCF/IOA/meta_theory/TrivEx.ML
author berghofe
Fri, 24 Jul 1998 13:44:27 +0200
changeset 5192 704dd3a6d47d
parent 5132 24f992a25adc
permissions -rw-r--r--
Adapted to new datatype package.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     1
(*  Title:      HOLCF/IOA/TrivEx.thy
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     2
    ID:         $Id$
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     3
    Author:     Olaf Mueller
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     4
    Copyright   1995  TU Muenchen
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     5
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     6
Trivial Abstraction Example
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     7
*)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     8
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     9
val prems = goal HOL.thy "(P ==> Q-->R) ==> P&Q --> R";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5068
diff changeset
    10
  by (fast_tac (claset() addDs prems) 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    11
qed "imp_conj_lemma";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    12
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    13
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4559
diff changeset
    14
Goalw [is_abstraction_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    15
"is_abstraction h_abs C_ioa A_ioa";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    16
by (rtac conjI 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    17
(* ------------- start states ------------ *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    18
by (simp_tac (simpset() addsimps 
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    19
    [h_abs_def,starts_of_def,C_ioa_def,A_ioa_def]) 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    20
(* -------------- step case ---------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    21
by (REPEAT (rtac allI 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    22
by (rtac imp_conj_lemma 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    23
by (simp_tac (simpset() addsimps [trans_of_def,
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    24
        C_ioa_def,A_ioa_def,C_trans_def,A_trans_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    25
by (simp_tac (simpset() addsimps [h_abs_def]) 1);
5192
704dd3a6d47d Adapted to new datatype package.
berghofe
parents: 5132
diff changeset
    26
by (induct_tac "a" 1);
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5068
diff changeset
    27
by Auto_tac;
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    28
qed"h_abs_is_abstraction";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    29
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    30
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4559
diff changeset
    31
Goal "validIOA C_ioa (<>[] <%(n,a,m). n~=0>)";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5068
diff changeset
    32
by (rtac AbsRuleT1 1);
24f992a25adc isatool expandshort;
wenzelm
parents: 5068
diff changeset
    33
by (rtac h_abs_is_abstraction 1);
24f992a25adc isatool expandshort;
wenzelm
parents: 5068
diff changeset
    34
by (rtac MC_result 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    35
by (abstraction_tac 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    36
by (asm_full_simp_tac (simpset() addsimps [h_abs_def]) 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    37
qed"TrivEx_abstraction";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    38
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    39