| author | wenzelm |
| Tue, 26 Aug 2008 11:42:46 +0200 | |
| changeset 28000 | ca56bbb99607 |
| parent 17272 | c63e5220ed77 |
| child 35416 | d8d7d1b785af |
| permissions | -rw-r--r-- |
|
6466
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
1 |
(* Title: HOL/Modelcheck/MuckeExample2.thy |
|
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
2 |
ID: $Id$ |
|
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
3 |
Author: Olaf Mueller, Jan Philipps, Robert Sandner |
|
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
4 |
Copyright 1997 TU Muenchen |
|
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
5 |
*) |
|
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
6 |
|
| 17272 | 7 |
theory MuckeExample2 |
8 |
imports MuckeSyn |
|
9 |
begin |
|
|
6466
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
10 |
|
| 17272 | 11 |
constdefs |
12 |
Init :: "bool pred" |
|
13 |
"Init x == x" |
|
14 |
R :: "[bool,bool] => bool" |
|
15 |
"R x y == (x & ~y) | (~x & y)" |
|
16 |
Reach :: "bool pred" |
|
17 |
"Reach == mu (%Q x. Init x | (? y. Q y & R y x))" |
|
18 |
Reach2:: "bool pred" |
|
19 |
"Reach2 == mu (%Q x. Reach x | (? y. Q y & R y x))" |
|
|
6466
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
20 |
|
| 17272 | 21 |
lemmas Reach_rws = Init_def R_def Reach_def Reach2_def |
|
6466
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
22 |
|
| 17272 | 23 |
lemma Reach: "Reach2 True" |
24 |
apply (tactic {* simp_tac (Mucke_ss addsimps (thms "Reach_rws")) 1 *})
|
|
25 |
apply (tactic {* mc_mucke_tac [] 1 *})
|
|
26 |
done |
|
|
6466
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
mueller
parents:
diff
changeset
|
27 |
|
| 17272 | 28 |
(*alternative:*) |
29 |
lemma Reach': "Reach2 True" |
|
30 |
by (tactic {* mc_mucke_tac (thms "Reach_rws") 1 *})
|
|
31 |
||
32 |
end |