src/HOL/Fun.thy
changeset 69735 8230dca028eb
parent 69700 7a92cbec7030
child 69768 7e4966eaf781
equal deleted inserted replaced
69733:6d158fd15b85 69735:8230dca028eb
   289   \<comment> \<open>Courtesy of Stephan Merz\<close>
   289   \<comment> \<open>Courtesy of Stephan Merz\<close>
   290 proof (rule inj_onI)
   290 proof (rule inj_onI)
   291   show "x = y" if "f x = f y" for x y
   291   show "x = y" if "f x = f y" for x y
   292    by (rule linorder_cases) (auto dest: assms simp: that)
   292    by (rule linorder_cases) (auto dest: assms simp: that)
   293 qed
   293 qed
       
   294 
       
   295 
       
   296 lemma inj_on_image_Pow: "inj_on f A \<Longrightarrow>inj_on (image f) (Pow A)"
       
   297   unfolding Pow_def inj_on_def by blast
       
   298 
       
   299 lemma bij_betw_image_Pow: "bij_betw f A B \<Longrightarrow> bij_betw (image f) (Pow A) (Pow B)"
       
   300   by (auto simp add: bij_betw_def inj_on_image_Pow image_Pow_surj)
   294 
   301 
   295 lemma surj_def: "surj f \<longleftrightarrow> (\<forall>y. \<exists>x. y = f x)"
   302 lemma surj_def: "surj f \<longleftrightarrow> (\<forall>y. \<exists>x. y = f x)"
   296   by auto
   303   by auto
   297 
   304 
   298 lemma surjI:
   305 lemma surjI: