src/HOLCF/UpperPD.thy
changeset 40321 d065b195ec89
parent 40002 c5b5f7a3a3b1
child 40327 1dfdbd66093a
equal deleted inserted replaced
40219:b283680d8044 40321:d065b195ec89
   231 by (rule UU_I, rule upper_plus_below1)
   231 by (rule UU_I, rule upper_plus_below1)
   232 
   232 
   233 lemma upper_plus_strict2 [simp]: "xs +\<sharp> \<bottom> = \<bottom>"
   233 lemma upper_plus_strict2 [simp]: "xs +\<sharp> \<bottom> = \<bottom>"
   234 by (rule UU_I, rule upper_plus_below2)
   234 by (rule UU_I, rule upper_plus_below2)
   235 
   235 
   236 lemma upper_unit_strict_iff [simp]: "{x}\<sharp> = \<bottom> \<longleftrightarrow> x = \<bottom>"
   236 lemma upper_unit_bottom_iff [simp]: "{x}\<sharp> = \<bottom> \<longleftrightarrow> x = \<bottom>"
   237 unfolding upper_unit_strict [symmetric] by (rule upper_unit_eq_iff)
   237 unfolding upper_unit_strict [symmetric] by (rule upper_unit_eq_iff)
   238 
   238 
   239 lemma upper_plus_strict_iff [simp]:
   239 lemma upper_plus_bottom_iff [simp]:
   240   "xs +\<sharp> ys = \<bottom> \<longleftrightarrow> xs = \<bottom> \<or> ys = \<bottom>"
   240   "xs +\<sharp> ys = \<bottom> \<longleftrightarrow> xs = \<bottom> \<or> ys = \<bottom>"
   241 apply (rule iffI)
   241 apply (rule iffI)
   242 apply (erule rev_mp)
   242 apply (erule rev_mp)
   243 apply (rule upper_pd.principal_induct2 [where x=xs and y=ys], simp, simp)
   243 apply (rule upper_pd.principal_induct2 [where x=xs and y=ys], simp, simp)
   244 apply (simp add: inst_upper_pd_pcpo upper_pd.principal_eq_iff
   244 apply (simp add: inst_upper_pd_pcpo upper_pd.principal_eq_iff