src/HOL/HOLCF/Cfun.thy
changeset 68383 93a42bd62ede
parent 67312 0d25e02759b7
child 69216 1a52baa70aed
equal deleted inserted replaced
68382:b10ae73f0bab 68383:93a42bd62ede
   392   for x y :: "'a::flat"
   392   for x y :: "'a::flat"
   393   by (drule ax_flat) simp
   393   by (drule ax_flat) simp
   394 
   394 
   395 lemma flat_codom: "f\<cdot>x = c \<Longrightarrow> f\<cdot>\<bottom> = \<bottom> \<or> (\<forall>z. f\<cdot>z = c)"
   395 lemma flat_codom: "f\<cdot>x = c \<Longrightarrow> f\<cdot>\<bottom> = \<bottom> \<or> (\<forall>z. f\<cdot>z = c)"
   396   for c :: "'b::flat"
   396   for c :: "'b::flat"
   397   apply (case_tac "f\<cdot>x = \<bottom>")
   397   apply (cases "f\<cdot>x = \<bottom>")
   398    apply (rule disjI1)
   398    apply (rule disjI1)
   399    apply (rule bottomI)
   399    apply (rule bottomI)
   400    apply (erule_tac t="\<bottom>" in subst)
   400    apply (erule_tac t="\<bottom>" in subst)
   401    apply (rule minimal [THEN monofun_cfun_arg])
   401    apply (rule minimal [THEN monofun_cfun_arg])
   402   apply clarify
   402   apply clarify