author | wenzelm |
Sat, 23 Apr 2005 19:50:15 +0200 | |
changeset 15827 | 5fdf2d8dab9c |
parent 15188 | 9d57263faf9e |
child 17291 | 94f6113fe9ed |
permissions | -rw-r--r-- |
2570 | 1 |
(* $Id$ *) |
2 |
||
3 |
val YS_def2 = fix_prover2 Dagstuhl.thy YS_def "YS = y && YS"; |
|
4 |
val YYS_def2 = fix_prover2 Dagstuhl.thy YYS_def "YYS = y && y && YYS"; |
|
5 |
||
6 |
||
7 |
val prems = goal Dagstuhl.thy "YYS << y && YYS"; |
|
8 |
by (rtac (YYS_def RS def_fix_ind) 1); |
|
9 |
by (Simp_tac 1); |
|
3032
74c5f175aa8e
minor changes due to more powerful continuity check in Lift3.ML
mueller
parents:
2570
diff
changeset
|
10 |
by (Simp_tac 1); |
74c5f175aa8e
minor changes due to more powerful continuity check in Lift3.ML
mueller
parents:
2570
diff
changeset
|
11 |
by (Simp_tac 1); |
2570 | 12 |
by (rtac monofun_cfun_arg 1); |
13 |
by (rtac monofun_cfun_arg 1); |
|
14 |
by (atac 1); |
|
15 |
val lemma3 = result(); |
|
16 |
||
17 |
val prems = goal Dagstuhl.thy "y && YYS << YYS"; |
|
18 |
by (stac YYS_def2 1); |
|
19 |
back(); |
|
20 |
by (rtac monofun_cfun_arg 1); |
|
21 |
by (rtac lemma3 1); |
|
22 |
val lemma4=result(); |
|
23 |
||
24 |
(* val lemma5 = lemma3 RS (lemma4 RS antisym_less) *) |
|
25 |
||
26 |
val prems = goal Dagstuhl.thy "y && YYS = YYS"; |
|
27 |
by (rtac antisym_less 1); |
|
28 |
by (rtac lemma4 1); |
|
29 |
by (rtac lemma3 1); |
|
30 |
val lemma5=result(); |
|
31 |
||
32 |
val prems = goal Dagstuhl.thy "YS = YYS"; |
|
15188
9d57263faf9e
integrated Streams with ex/Stream.*; added FOCUS/Fstreams.thy
oheimb
parents:
13454
diff
changeset
|
33 |
by (resolve_tac (thms "stream.take_lemmas") 1); |
13454 | 34 |
by (induct_tac "n" 1); |
15188
9d57263faf9e
integrated Streams with ex/Stream.*; added FOCUS/Fstreams.thy
oheimb
parents:
13454
diff
changeset
|
35 |
by (simp_tac (simpset() addsimps (thms "stream.rews")) 1); |
2570 | 36 |
by (stac YS_def2 1); |
37 |
by (stac YYS_def2 1); |
|
15188
9d57263faf9e
integrated Streams with ex/Stream.*; added FOCUS/Fstreams.thy
oheimb
parents:
13454
diff
changeset
|
38 |
by (asm_simp_tac (simpset() addsimps (thms "stream.rews")) 1); |
2570 | 39 |
by (rtac (lemma5 RS sym RS subst) 1); |
40 |
by (rtac refl 1); |
|
41 |
val wir_moel=result(); |
|
42 |
||
43 |
(* ------------------------------------------------------------------------ *) |
|
44 |
(* Zweite L"osung: Bernhard M"oller *) |
|
45 |
(* statt Beweis von wir_moel "uber take_lemma beidseitige Inclusion *) |
|
46 |
(* verwendet lemma5 *) |
|
47 |
(* ------------------------------------------------------------------------ *) |
|
48 |
||
49 |
val prems = goal Dagstuhl.thy "YYS << YS"; |
|
50 |
by (rewtac YYS_def); |
|
51 |
by (rtac fix_least 1); |
|
52 |
by (stac beta_cfun 1); |
|
53 |
by (cont_tacR 1); |
|
4098 | 54 |
by (simp_tac (simpset() addsimps [YS_def2 RS sym]) 1); |
2570 | 55 |
val lemma6=result(); |
56 |
||
57 |
val prems = goal Dagstuhl.thy "YS << YYS"; |
|
58 |
by (rtac (YS_def RS def_fix_ind) 1); |
|
59 |
by (Simp_tac 1); |
|
3032
74c5f175aa8e
minor changes due to more powerful continuity check in Lift3.ML
mueller
parents:
2570
diff
changeset
|
60 |
by (Simp_tac 1); |
74c5f175aa8e
minor changes due to more powerful continuity check in Lift3.ML
mueller
parents:
2570
diff
changeset
|
61 |
by (Simp_tac 1); |
2570 | 62 |
by (stac (lemma5 RS sym) 1); |
63 |
by (etac monofun_cfun_arg 1); |
|
64 |
val lemma7 = result(); |
|
65 |
||
66 |
val wir_moel = lemma6 RS (lemma7 RS antisym_less); |
|
67 |