src/HOLCF/Discrete.ML
author oheimb
Tue Mar 10 18:33:13 1998 +0100 (1998-03-10)
changeset 4721 c8a8482a8124
parent 4423 a129b817b58a
child 5068 fb28eaa07e01
permissions -rw-r--r--
renamed is_chain to chain, is_tord to tord, replaced chain_finite by chfin
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
oheimb@4721
    13
 "!!S::nat=>('a::term)discr. 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];