author | huffman |
Fri, 26 Feb 2010 09:47:37 -0800 | |
changeset 35452 | cf8c5a751a9a |
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 |