src/HOLCF/Sprod.thy
changeset 40436 adb22dbb5242
parent 40321 d065b195ec89
child 40502 8e92772bc0e8
equal deleted inserted replaced
40435:a26503ac7c87 40436:adb22dbb5242
   149 by simp
   149 by simp
   150 
   150 
   151 lemma spair_sfst_ssnd: "(:sfst\<cdot>p, ssnd\<cdot>p:) = p"
   151 lemma spair_sfst_ssnd: "(:sfst\<cdot>p, ssnd\<cdot>p:) = p"
   152 by (cases p, simp_all)
   152 by (cases p, simp_all)
   153 
   153 
   154 lemma below_sprod: "x \<sqsubseteq> y = (sfst\<cdot>x \<sqsubseteq> sfst\<cdot>y \<and> ssnd\<cdot>x \<sqsubseteq> ssnd\<cdot>y)"
   154 lemma below_sprod: "(x \<sqsubseteq> y) = (sfst\<cdot>x \<sqsubseteq> sfst\<cdot>y \<and> ssnd\<cdot>x \<sqsubseteq> ssnd\<cdot>y)"
   155 by (simp add: Rep_sprod_simps sfst_def ssnd_def cont_Rep_sprod)
   155 by (simp add: Rep_sprod_simps sfst_def ssnd_def cont_Rep_sprod)
   156 
   156 
   157 lemma eq_sprod: "(x = y) = (sfst\<cdot>x = sfst\<cdot>y \<and> ssnd\<cdot>x = ssnd\<cdot>y)"
   157 lemma eq_sprod: "(x = y) = (sfst\<cdot>x = sfst\<cdot>y \<and> ssnd\<cdot>x = ssnd\<cdot>y)"
   158 by (auto simp add: po_eq_conv below_sprod)
   158 by (auto simp add: po_eq_conv below_sprod)
   159 
   159 
   160 lemma sfst_below_iff: "sfst\<cdot>x \<sqsubseteq> y = x \<sqsubseteq> (:y, ssnd\<cdot>x:)"
   160 lemma sfst_below_iff: "sfst\<cdot>x \<sqsubseteq> y \<longleftrightarrow> x \<sqsubseteq> (:y, ssnd\<cdot>x:)"
   161 apply (cases "x = \<bottom>", simp, cases "y = \<bottom>", simp)
   161 apply (cases "x = \<bottom>", simp, cases "y = \<bottom>", simp)
   162 apply (simp add: below_sprod)
   162 apply (simp add: below_sprod)
   163 done
   163 done
   164 
   164 
   165 lemma ssnd_below_iff: "ssnd\<cdot>x \<sqsubseteq> y = x \<sqsubseteq> (:sfst\<cdot>x, y:)"
   165 lemma ssnd_below_iff: "ssnd\<cdot>x \<sqsubseteq> y \<longleftrightarrow> x \<sqsubseteq> (:sfst\<cdot>x, y:)"
   166 apply (cases "x = \<bottom>", simp, cases "y = \<bottom>", simp)
   166 apply (cases "x = \<bottom>", simp, cases "y = \<bottom>", simp)
   167 apply (simp add: below_sprod)
   167 apply (simp add: below_sprod)
   168 done
   168 done
   169 
   169 
   170 subsection {* Compactness *}
   170 subsection {* Compactness *}