| author | wenzelm | 
| Wed, 18 Oct 2000 23:40:17 +0200 | |
| changeset 10261 | bb2f1e859177 | 
| parent 5068 | fb28eaa07e01 | 
| child 11346 | 0d28bc664955 | 
| permissions | -rw-r--r-- | 
| 2841 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 1 | (* Title: HOLCF/Discrete.ML | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 2 | ID: $Id$ | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 3 | Author: Tobias Nipkow | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 4 | Copyright 1997 TUM | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 5 | *) | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 6 | |
| 5068 | 7 | Goalw [undiscr_def] "undiscr(Discr x) = x"; | 
| 4423 | 8 | by (Simp_tac 1); | 
| 2841 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 9 | qed "undiscr_Discr"; | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 10 | Addsimps [undiscr_Discr]; | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 11 | |
| 5068 | 12 | Goal | 
| 4721 
c8a8482a8124
renamed is_chain to chain, is_tord to tord, replaced chain_finite by chfin
 oheimb parents: 
4423diff
changeset | 13 |  "!!S::nat=>('a::term)discr. chain(S) ==> range(%i. f(S i)) = {f(S 0)}";
 | 
| 4423 | 14 | by (fast_tac (claset() addDs [discr_chain0] addEs [arg_cong]) 1); | 
| 2841 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 15 | qed "discr_chain_f_range0"; | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 16 | |
| 5068 | 17 | Goalw [cont,is_lub,is_ub] "cont(%x::('a::term)discr. f x)";
 | 
| 4423 | 18 | by (simp_tac (simpset() addsimps [discr_chain_f_range0]) 1); | 
| 2841 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 19 | qed "cont_discr"; | 
| 
c2508f4ab739
Added "discrete" CPOs and modified IMP to use those rather than "lift"
 nipkow parents: diff
changeset | 20 | AddIffs [cont_discr]; |