src/HOLCF/Discrete.ML
author wenzelm
Tue Dec 16 17:58:03 1997 +0100 (1997-12-16)
changeset 4423 a129b817b58a
parent 4098 71e05eb27fb6
child 4721 c8a8482a8124
permissions -rw-r--r--
expandshort;
nipkow@2841
     1
(*  Title:      HOLCF/Discrete.ML
nipkow@2841
     2
    ID:         $Id$
nipkow@2841
     3
    Author:     Tobias Nipkow
nipkow@2841
     4
    Copyright   1997 TUM
nipkow@2841
     5
*)
nipkow@2841
     6
nipkow@2841
     7
goalw thy [undiscr_def] "undiscr(Discr x) = x";
wenzelm@4423
     8
by (Simp_tac 1);
nipkow@2841
     9
qed "undiscr_Discr";
nipkow@2841
    10
Addsimps [undiscr_Discr];
nipkow@2841
    11
nipkow@2841
    12
goal thy
wenzelm@3842
    13
 "!!S::nat=>('a::term)discr. is_chain(S) ==> range(%i. f(S i)) = {f(S 0)}";
wenzelm@4423
    14
by (fast_tac (claset() addDs [discr_chain0] addEs [arg_cong]) 1);
nipkow@2841
    15
qed "discr_chain_f_range0";
nipkow@2841
    16
wenzelm@3842
    17
goalw thy [cont,is_lub,is_ub] "cont(%x::('a::term)discr. f x)";
wenzelm@4423
    18
by (simp_tac (simpset() addsimps [discr_chain_f_range0]) 1);
nipkow@2841
    19
qed "cont_discr";
nipkow@2841
    20
AddIffs [cont_discr];