248 ssnd_spair sfst_spair up_defined spair_defined |
248 ssnd_spair sfst_spair up_defined spair_defined |
249 |
249 |
250 lemmas sel_defined_iff_rules = |
250 lemmas sel_defined_iff_rules = |
251 cfcomp2 sfst_defined_iff ssnd_defined_iff |
251 cfcomp2 sfst_defined_iff ssnd_defined_iff |
252 |
252 |
|
253 lemmas take_con_rules = |
|
254 ID1 ssum_map_sinl' ssum_map_sinr' ssum_map_strict |
|
255 sprod_map_spair' sprod_map_strict u_map_up u_map_strict |
|
256 |
|
257 lemma lub_ID_take_lemma: |
|
258 assumes "chain t" and "(\<Squnion>n. t n) = ID" |
|
259 assumes "\<And>n. t n\<cdot>x = t n\<cdot>y" shows "x = y" |
|
260 proof - |
|
261 have "(\<Squnion>n. t n\<cdot>x) = (\<Squnion>n. t n\<cdot>y)" |
|
262 using assms(3) by simp |
|
263 then have "(\<Squnion>n. t n)\<cdot>x = (\<Squnion>n. t n)\<cdot>y" |
|
264 using assms(1) by (simp add: lub_distribs) |
|
265 then show "x = y" |
|
266 using assms(2) by simp |
|
267 qed |
|
268 |
|
269 lemma lub_ID_reach: |
|
270 assumes "chain t" and "(\<Squnion>n. t n) = ID" |
|
271 shows "(\<Squnion>n. t n\<cdot>x) = x" |
|
272 using assms by (simp add: lub_distribs) |
|
273 |
253 use "Tools/cont_consts.ML" |
274 use "Tools/cont_consts.ML" |
254 use "Tools/cont_proc.ML" |
275 use "Tools/cont_proc.ML" |
255 use "Tools/Domain/domain_library.ML" |
276 use "Tools/Domain/domain_library.ML" |
256 use "Tools/Domain/domain_syntax.ML" |
277 use "Tools/Domain/domain_syntax.ML" |
257 use "Tools/Domain/domain_axioms.ML" |
278 use "Tools/Domain/domain_axioms.ML" |