src/HOL/Library/FuncSet.thy
 changeset 32988 d1d4d7a08a66 parent 31770 ba52fcfaec28 child 33057 764547b68538
```     1.1 --- a/src/HOL/Library/FuncSet.thy	Sat Oct 17 13:46:55 2009 +0200
1.2 +++ b/src/HOL/Library/FuncSet.thy	Sun Oct 18 12:07:25 2009 +0200
1.3 @@ -157,7 +157,7 @@
1.4  the theorems belong here, or need at least @{term Hilbert_Choice}.*}
1.5
1.6  lemma bij_betw_imp_funcset: "bij_betw f A B \<Longrightarrow> f \<in> A \<rightarrow> B"
1.7 -by (auto simp add: bij_betw_def inj_on_Inv)
1.8 +by (auto simp add: bij_betw_def)
1.9
1.10  lemma inj_on_compose:
1.11    "[| bij_betw f A B; inj_on g B |] ==> inj_on (compose A g f) A"
1.12 @@ -190,22 +190,20 @@
1.13        !!x. x\<in>A ==> f x = g x |] ==> f = g"
1.14  by (force simp add: expand_fun_eq extensional_def)
1.15
1.16 -lemma Inv_funcset: "f ` A = B ==> (\<lambda>x\<in>B. Inv A f x) : B -> A"
1.17 -by (unfold Inv_def) (fast intro: someI2)
1.18 +lemma inv_onto_funcset: "f ` A = B ==> (\<lambda>x\<in>B. inv_onto A f x) : B -> A"
1.19 +by (unfold inv_onto_def) (fast intro: someI2)
1.20
1.21 -lemma compose_Inv_id:
1.22 -  "bij_betw f A B ==> compose A (\<lambda>y\<in>B. Inv A f y) f = (\<lambda>x\<in>A. x)"
1.23 +lemma compose_inv_onto_id:
1.24 +  "bij_betw f A B ==> compose A (\<lambda>y\<in>B. inv_onto A f y) f = (\<lambda>x\<in>A. x)"
1.25  apply (simp add: bij_betw_def compose_def)
1.26  apply (rule restrict_ext, auto)
1.27 -apply (erule subst)
1.29  done
1.30
1.31 -lemma compose_id_Inv:
1.32 -  "f ` A = B ==> compose B f (\<lambda>y\<in>B. Inv A f y) = (\<lambda>x\<in>B. x)"
1.33 +lemma compose_id_inv_onto:
1.34 +  "f ` A = B ==> compose B f (\<lambda>y\<in>B. inv_onto A f y) = (\<lambda>x\<in>B. x)"