src/HOLCF/ex/Dagstuhl.ML
author wenzelm
Thu, 15 Feb 2001 17:18:54 +0100
changeset 11145 3e47692e3a3e
parent 4098 71e05eb27fb6
child 12036 49f6c49454c2
permissions -rw-r--r--
eliminate get_def;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     1
(* $Id$ *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     2
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     3
open Dagstuhl;
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     4
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     5
val YS_def2  = fix_prover2 Dagstuhl.thy  YS_def  "YS = y && YS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     6
val YYS_def2 = fix_prover2 Dagstuhl.thy YYS_def "YYS = y && y && YYS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     7
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     8
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
     9
val prems = goal Dagstuhl.thy "YYS << y && YYS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    10
by (rtac (YYS_def RS def_fix_ind) 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    11
by (Simp_tac 1);
3032
74c5f175aa8e minor changes due to more powerful continuity check in Lift3.ML
mueller
parents: 2570
diff changeset
    12
by (Simp_tac 1);
74c5f175aa8e minor changes due to more powerful continuity check in Lift3.ML
mueller
parents: 2570
diff changeset
    13
by (Simp_tac 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    14
by (rtac monofun_cfun_arg 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    15
by (rtac monofun_cfun_arg 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    16
by (atac 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    17
val lemma3 = result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    18
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    19
val prems = goal Dagstuhl.thy "y && YYS << YYS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    20
by (stac YYS_def2 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    21
back();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    22
by (rtac monofun_cfun_arg 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    23
by (rtac lemma3 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    24
val lemma4=result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    25
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    26
(* val  lemma5 = lemma3 RS (lemma4 RS antisym_less) *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    27
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    28
val prems = goal Dagstuhl.thy "y && YYS = YYS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    29
by (rtac antisym_less 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    30
by (rtac lemma4 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    31
by (rtac lemma3 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    32
val lemma5=result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    33
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    34
val prems = goal Dagstuhl.thy "YS = YYS";
4044
fdfef2d484ca domain package:
oheimb
parents: 3032
diff changeset
    35
by (resolve_tac stream.take_lemmas 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    36
by (nat_ind_tac "n" 1);
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 4044
diff changeset
    37
by (simp_tac (simpset() addsimps stream.rews) 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    38
by (stac YS_def2 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    39
by (stac YYS_def2 1);
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 4044
diff changeset
    40
by (asm_simp_tac (simpset() addsimps stream.rews) 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    41
by (rtac (lemma5 RS sym RS subst) 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    42
by (rtac refl 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    43
val wir_moel=result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    44
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    45
(* ------------------------------------------------------------------------ *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    46
(* Zweite L"osung: Bernhard M"oller                                         *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    47
(* statt Beweis von  wir_moel "uber take_lemma beidseitige Inclusion        *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    48
(* verwendet lemma5                                                         *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    49
(* ------------------------------------------------------------------------ *)
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    50
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    51
val prems = goal Dagstuhl.thy "YYS << YS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    52
by (rewtac YYS_def);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    53
by (rtac fix_least 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    54
by (stac beta_cfun 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    55
by (cont_tacR 1);
4098
71e05eb27fb6 isatool fixclasimp;
wenzelm
parents: 4044
diff changeset
    56
by (simp_tac (simpset() addsimps [YS_def2 RS sym]) 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    57
val lemma6=result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    58
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    59
val prems = goal Dagstuhl.thy "YS << YYS";
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    60
by (rtac (YS_def RS def_fix_ind) 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    61
by (Simp_tac 1);
3032
74c5f175aa8e minor changes due to more powerful continuity check in Lift3.ML
mueller
parents: 2570
diff changeset
    62
by (Simp_tac 1);
74c5f175aa8e minor changes due to more powerful continuity check in Lift3.ML
mueller
parents: 2570
diff changeset
    63
by (Simp_tac 1);
2570
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    64
by (stac (lemma5 RS sym) 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    65
by (etac monofun_cfun_arg 1);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    66
val lemma7 = result();
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    67
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    68
val  wir_moel = lemma6 RS (lemma7 RS antisym_less);
24d7e8fb8261 added Classlib.* and Witness.*,
oheimb
parents:
diff changeset
    69