src/HOLCF/IOA/meta_theory/TL.ML
author wenzelm
Mon, 22 Jun 1998 17:13:09 +0200
changeset 5068 fb28eaa07e01
parent 4833 2e53109d4bc8
child 5132 24f992a25adc
permissions -rw-r--r--
isatool fixgoal;
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/meta_theory/TL.ML
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 M"uller
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     4
    Copyright   1997  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
Temporal Logic 
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
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    10
Goal "[] <> (.~ P) = (.~ <> [] P)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    11
br ext 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    12
by (simp_tac (simpset() addsimps [Diamond_def,NOT_def,Box_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    13
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    14
qed"simple_try";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    15
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    16
Goal "nil |= [] P";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    17
by (asm_full_simp_tac (simpset() addsimps [satisfies_def,
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    18
     Box_def,tsuffix_def,suffix_def,nil_is_Conc])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    19
qed"Boxnil";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    20
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    21
Goal "~(nil |= <> P)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    22
by (simp_tac (simpset() addsimps [Diamond_def,satisfies_def,NOT_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    23
by (cut_inst_tac [] Boxnil 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    24
by (asm_full_simp_tac (simpset() addsimps [satisfies_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    25
qed"Diamondnil";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    26
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    27
Goal "(<> F) s = (? s2. tsuffix s2 s & F s2)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    28
by (simp_tac (simpset() addsimps [Diamond_def,NOT_def,Box_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    29
qed"Diamond_def2";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    30
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    31
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    32
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    33
section "TLA Axiomatization by Merz";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    34
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    35
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    36
(*                 TLA Axiomatization by Merz                       *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    37
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    38
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    39
Goal "suffix s s";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    40
by (simp_tac (simpset() addsimps [suffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    41
by (res_inst_tac [("x","nil")] exI 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    42
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    43
qed"suffix_refl";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    44
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    45
Goal "s~=UU & s~=nil --> (s |= [] F .--> F)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    46
by (simp_tac (simpset() addsimps [satisfies_def,IMPLIES_def,Box_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    47
by (REPEAT (rtac impI 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    48
by (eres_inst_tac [("x","s")] allE 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    49
by (asm_full_simp_tac (simpset() addsimps [tsuffix_def,suffix_refl])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    50
qed"reflT";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    51
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    52
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    53
Goal "!!x. [| suffix y x ; suffix z y |]  ==> suffix z x";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    54
by (asm_full_simp_tac (simpset() addsimps [suffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    55
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    56
by (res_inst_tac [("x","s1 @@ s1a")] exI 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    57
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    58
by (simp_tac (simpset() addsimps [Conc_assoc]) 1); 
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    59
qed"suffix_trans";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    60
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    61
Goal "s |= [] F .--> [] [] F";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    62
by (simp_tac (simpset() addsimps [satisfies_def,IMPLIES_def,Box_def,tsuffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    63
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    64
bd suffix_trans 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    65
ba 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    66
by (eres_inst_tac [("x","s2a")] allE 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    67
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    68
qed"transT";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    69
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    70
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    71
Goal "s |= [] (F .--> G) .--> [] F .--> [] G";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    72
by (simp_tac (simpset() addsimps [satisfies_def,IMPLIES_def,Box_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    73
qed"normalT";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    74
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    75
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    76
(*
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    77
Goal "s |= <> F .& <> G .--> (<> (F .& <> G) .| <> (G .& <> F))";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    78
by (simp_tac (simpset() addsimps [satisfies_def,IMPLIES_def,AND_def,OR_def,Diamond_def2])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    79
br impI 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    80
be conjE 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    81
be exE 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    82
be exE 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    83
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    84
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    85
br disjI1 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    86
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
    87
Goal "!!s. [| tsuffix s1 s ; tsuffix s2 s|] ==> tsuffix s2 s1 | tsuffix s1 s2";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    88
by (asm_full_simp_tac (simpset() addsimps [tsuffix_def,suffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    89
by (REPEAT (etac conjE 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    90
by (REPEAT (etac exE 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    91
by (REPEAT (etac conjE 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    92
by (hyp_subst_tac 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    93
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    94
*)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    95
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    96
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    97
section "TLA Rules by Lamport";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    98
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    99
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   100
(*                      TLA Rules by Lamport                        *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   101
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   102
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   103
Goal "!! P. validT P ==> validT ([] P)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   104
by (asm_full_simp_tac (simpset() addsimps [validT_def,satisfies_def,Box_def,tsuffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   105
qed"STL1a";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   106
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   107
Goal "!! P. valid P ==> validT (Init P)";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   108
by (asm_full_simp_tac (simpset() addsimps [valid_def,validT_def,satisfies_def,Init_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   109
qed"STL1b";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   110
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   111
Goal "!! P. valid P ==> validT ([] (Init P))";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   112
br STL1a 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   113
be STL1b 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   114
qed"STL1";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   115
4577
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   116
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   117
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   118
(* Note that unlift and HD is not at all used !!! *)
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   119
Goal "!! P. valid (P .--> Q)  ==> validT ([] (Init P) .--> [] (Init Q))";
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   120
by (asm_full_simp_tac (simpset() addsimps [valid_def,validT_def,satisfies_def,IMPLIES_def,Box_def,Init_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   121
qed"STL4";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   122
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   123
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   124
section "LTL Axioms by Manna/Pnueli";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   125
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   126
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   127
(*                LTL Axioms by Manna/Pnueli                        *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   128
(* ---------------------------------------------------------------- *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   129
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   130
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   131
Goalw [tsuffix_def,suffix_def]
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   132
"s~=UU & s~=nil --> tsuffix s2 (TL`s) --> tsuffix s2 s";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   133
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   134
by (Seq_case_simp_tac "s" 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   135
by (res_inst_tac [("x","a>>s1")] exI 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   136
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   137
qed_spec_mp"tsuffix_TL";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   138
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   139
val tsuffix_TL2 = conjI RS tsuffix_TL;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   140
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   141
Delsplits[split_if];
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   142
Goalw [Next_def,satisfies_def,NOT_def,IMPLIES_def,AND_def,Box_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   143
   "s~=UU & s~=nil --> (s |= [] F .--> (F .& (Next ([] F))))";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   144
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   145
(* []F .--> F *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   146
by (eres_inst_tac [("x","s")] allE 1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   147
by (asm_full_simp_tac (simpset() addsimps [tsuffix_def,suffix_refl])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   148
(* []F .--> Next [] F *)
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   149
by (asm_full_simp_tac (simpset() addsplits [split_if]) 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   150
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   151
bd tsuffix_TL2 1;
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   152
by (REPEAT (atac 1));
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   153
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   154
qed"LTL1";
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   155
Addsplits[split_if];
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   156
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   157
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   158
Goalw [Next_def,satisfies_def,NOT_def,IMPLIES_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   159
    "s |= .~ (Next F) .--> (Next (.~ F))";
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   160
by (Asm_full_simp_tac 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   161
qed"LTL2a";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   162
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   163
Goalw [Next_def,satisfies_def,NOT_def,IMPLIES_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   164
    "s |= (Next (.~ F)) .--> (.~ (Next F))";
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   165
by (Asm_full_simp_tac 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   166
qed"LTL2b";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   167
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   168
Goalw [Next_def,satisfies_def,NOT_def,IMPLIES_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   169
"ex |= (Next (F .--> G)) .--> (Next F) .--> (Next G)";
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   170
by (Asm_full_simp_tac 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   171
qed"LTL3";
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   172
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   173
Goalw [Next_def,satisfies_def,Box_def,NOT_def,IMPLIES_def] 
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   174
 "s |= [] (F .--> Next F) .--> F .--> []F";
4833
2e53109d4bc8 Renamed expand_const -> split_const
nipkow
parents: 4681
diff changeset
   175
by (Asm_full_simp_tac 1);
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   176
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   177
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   178
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   179
by (asm_full_simp_tac (simpset() addsimps [tsuffix_def,suffix_def])1);
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   180
auto();
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   181
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
   182
4577
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   183
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   184
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   185
Goal "!! P. [| validT (P .--> Q); validT P |] ==> validT Q";
4577
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   186
by (asm_full_simp_tac (simpset() addsimps [validT_def,satisfies_def,IMPLIES_def])1);
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   187
qed"ModusPonens";
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   188
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   189
(* works only if validT is defined without restriction to s~=UU, s~=nil *)
5068
fb28eaa07e01 isatool fixgoal;
wenzelm
parents: 4833
diff changeset
   190
Goal "!! P. validT P ==> validT (Next P)";
4577
674b0b354feb added thms wrt weakening and strengthening in Abstraction;
mueller
parents: 4559
diff changeset
   191
by (asm_full_simp_tac (simpset() addsimps [validT_def,satisfies_def,Next_def])1);
4681
a331c1f5a23e expand_if is now by default part of the simpset.
nipkow
parents: 4577
diff changeset
   192
(* qed"NextTauto"; *)