src/HOL/Hilbert_Choice.thy
changeset 67673 c8caefb20564
parent 67613 ce654b0e6d69
child 67829 2a6ef5ba4822
equal deleted inserted replaced
67655:8f4810b9d9d1 67673:c8caefb20564
   182 lemma inj_imp_surj_inv: "inj f \<Longrightarrow> surj (inv f)"
   182 lemma inj_imp_surj_inv: "inj f \<Longrightarrow> surj (inv f)"
   183   by (blast intro!: surjI inv_into_f_f)
   183   by (blast intro!: surjI inv_into_f_f)
   184 
   184 
   185 lemma surj_f_inv_f: "surj f \<Longrightarrow> f (inv f y) = y"
   185 lemma surj_f_inv_f: "surj f \<Longrightarrow> f (inv f y) = y"
   186   by (simp add: f_inv_into_f)
   186   by (simp add: f_inv_into_f)
       
   187 
       
   188 lemma bij_inv_eq_iff: "bij p \<Longrightarrow> x = inv p y \<longleftrightarrow> p x = y"
       
   189   using surj_f_inv_f[of p] by (auto simp add: bij_def)
   187 
   190 
   188 lemma inv_into_injective:
   191 lemma inv_into_injective:
   189   assumes eq: "inv_into A f x = inv_into A f y"
   192   assumes eq: "inv_into A f x = inv_into A f y"
   190     and x: "x \<in> f`A"
   193     and x: "x \<in> f`A"
   191     and y: "y \<in> f`A"
   194     and y: "y \<in> f`A"