src/HOLCF/Discrete.ML
changeset 2841 c2508f4ab739
child 3842 b55686a7b22c
equal deleted inserted replaced
2840:7e03e61612b0 2841:c2508f4ab739
       
     1 (*  Title:      HOLCF/Discrete.ML
       
     2     ID:         $Id$
       
     3     Author:     Tobias Nipkow
       
     4     Copyright   1997 TUM
       
     5 *)
       
     6 
       
     7 goalw thy [undiscr_def] "undiscr(Discr x) = x";
       
     8 by(Simp_tac 1);
       
     9 qed "undiscr_Discr";
       
    10 Addsimps [undiscr_Discr];
       
    11 
       
    12 goal thy
       
    13  "!!S::nat=>('a::term)discr. is_chain(S) ==> range(%i.f(S i)) = {f(S 0)}";
       
    14 by(fast_tac (!claset addDs [discr_chain0] addEs [arg_cong]) 1);
       
    15 qed "discr_chain_f_range0";
       
    16 
       
    17 goalw thy [cont,is_lub,is_ub] "cont(%x::('a::term)discr.f x)";
       
    18 by(simp_tac (!simpset addsimps [discr_chain_f_range0]) 1);
       
    19 qed "cont_discr";
       
    20 AddIffs [cont_discr];