src/HOLCF/LowerPD.thy
changeset 25925 3dc4acca4388
parent 25904 8161f137b0e9
child 26041 c2e15e65165f
equal deleted inserted replaced
25924:f974a1c64348 25925:3dc4acca4388
   374   "(lower_unit\<cdot>x \<sqsubseteq> lower_plus\<cdot>ys\<cdot>zs) =
   374   "(lower_unit\<cdot>x \<sqsubseteq> lower_plus\<cdot>ys\<cdot>zs) =
   375     (lower_unit\<cdot>x \<sqsubseteq> ys \<or> lower_unit\<cdot>x \<sqsubseteq> zs)"
   375     (lower_unit\<cdot>x \<sqsubseteq> ys \<or> lower_unit\<cdot>x \<sqsubseteq> zs)"
   376  apply (rule iffI)
   376  apply (rule iffI)
   377   apply (subgoal_tac
   377   apply (subgoal_tac
   378     "adm (\<lambda>f. f\<cdot>(lower_unit\<cdot>x) \<sqsubseteq> f\<cdot>ys \<or> f\<cdot>(lower_unit\<cdot>x) \<sqsubseteq> f\<cdot>zs)")
   378     "adm (\<lambda>f. f\<cdot>(lower_unit\<cdot>x) \<sqsubseteq> f\<cdot>ys \<or> f\<cdot>(lower_unit\<cdot>x) \<sqsubseteq> f\<cdot>zs)")
   379    apply (drule admD [rule_format], rule chain_approx)
   379    apply (drule admD, rule chain_approx)
   380     apply (drule_tac f="approx i" in monofun_cfun_arg)
   380     apply (drule_tac f="approx i" in monofun_cfun_arg)
   381     apply (cut_tac x="approx i\<cdot>x" in compact_imp_Rep_compact_basis, simp)
   381     apply (cut_tac x="approx i\<cdot>x" in compact_imp_Rep_compact_basis, simp)
   382     apply (cut_tac xs="approx i\<cdot>ys" in compact_imp_lower_principal, simp)
   382     apply (cut_tac xs="approx i\<cdot>ys" in compact_imp_lower_principal, simp)
   383     apply (cut_tac xs="approx i\<cdot>zs" in compact_imp_lower_principal, simp)
   383     apply (cut_tac xs="approx i\<cdot>zs" in compact_imp_lower_principal, simp)
   384     apply (clarify, simp add: lower_le_PDUnit_PDPlus_iff)
   384     apply (clarify, simp add: lower_le_PDUnit_PDPlus_iff)