equal
deleted
inserted
replaced
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 |