Metamath Proof Explorer


Theorem foresf1o

Description: From a surjective function, *choose* a subset of the domain, such that the restricted function is bijective. (Contributed by Thierry Arnoux, 27-Jan-2020)

Ref Expression
Assertion foresf1o ⊢ A ∈ V ∧ F : A ⟶ onto B → ∃ x ∈ 𝒫 A F ↾ x : x ⟶ 1-1 onto B

Proof

Step Hyp Ref Expression
1 focdmex ⊢ A ∈ V → F : A ⟶ onto B → B ∈ V
2 1 imp ⊢ A ∈ V ∧ F : A ⟶ onto B → B ∈ V
3 foelrn ⊢ F : A ⟶ onto B ∧ y ∈ B → ∃ z ∈ A y = F ⁡ z
4 fofn ⊢ F : A ⟶ onto B → F Fn A
5 eqcom ⊢ F ⁡ z = y ↔ y = F ⁡ z
6 fniniseg ⊢ F Fn A → z ∈ F -1 y ↔ z ∈ A ∧ F ⁡ z = y
7 6 biimpar ⊢ F Fn A ∧ z ∈ A ∧ F ⁡ z = y → z ∈ F -1 y
8 7 anassrs ⊢ F Fn A ∧ z ∈ A ∧ F ⁡ z = y → z ∈ F -1 y
9 5 8 sylan2br ⊢ F Fn A ∧ z ∈ A ∧ y = F ⁡ z → z ∈ F -1 y
10 4 9 sylanl1 ⊢ F : A ⟶ onto B ∧ z ∈ A ∧ y = F ⁡ z → z ∈ F -1 y
11 10 ex ⊢ F : A ⟶ onto B ∧ z ∈ A → y = F ⁡ z → z ∈ F -1 y
12 11 reximdva ⊢ F : A ⟶ onto B → ∃ z ∈ A y = F ⁡ z → ∃ z ∈ A z ∈ F -1 y
13 12 adantr ⊢ F : A ⟶ onto B ∧ y ∈ B → ∃ z ∈ A y = F ⁡ z → ∃ z ∈ A z ∈ F -1 y
14 3 13 mpd ⊢ F : A ⟶ onto B ∧ y ∈ B → ∃ z ∈ A z ∈ F -1 y
15 14 adantll ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ y ∈ B → ∃ z ∈ A z ∈ F -1 y
16 15 ralrimiva ⊢ A ∈ V ∧ F : A ⟶ onto B → ∀ y ∈ B ∃ z ∈ A z ∈ F -1 y
17 eleq1 ⊢ z = g ⁡ y → z ∈ F -1 y ↔ g ⁡ y ∈ F -1 y
18 17 ac6sg ⊢ B ∈ V → ∀ y ∈ B ∃ z ∈ A z ∈ F -1 y → ∃ g g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y
19 2 16 18 sylc ⊢ A ∈ V ∧ F : A ⟶ onto B → ∃ g g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y
20 frn ⊢ g : B ⟶ A → ran ⁡ g ⊆ A
21 20 ad2antrl ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → ran ⁡ g ⊆ A
22 vex ⊢ g ∈ V
23 22 rnex ⊢ ran ⁡ g ∈ V
24 23 elpw ⊢ ran ⁡ g ∈ 𝒫 A ↔ ran ⁡ g ⊆ A
25 21 24 sylibr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → ran ⁡ g ∈ 𝒫 A
26 fof ⊢ F : A ⟶ onto B → F : A ⟶ B
27 26 ad2antlr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → F : A ⟶ B
28 27 21 fssresd ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → F ↾ ran ⁡ g : ran ⁡ g ⟶ B
29 ffn ⊢ g : B ⟶ A → g Fn B
30 29 ad2antrl ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → g Fn B
31 dffn3 ⊢ g Fn B ↔ g : B ⟶ ran ⁡ g
32 30 31 sylib ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → g : B ⟶ ran ⁡ g
33 fvres ⊢ z ∈ ran ⁡ g → F ↾ ran ⁡ g ⁡ z = F ⁡ z
34 33 adantl ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → F ↾ ran ⁡ g ⁡ z = F ⁡ z
35 34 fveq2d ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → g ⁡ F ↾ ran ⁡ g ⁡ z = g ⁡ F ⁡ z
36 nfv ⊢ Ⅎ y A ∈ V ∧ F : A ⟶ onto B
37 nfv ⊢ Ⅎ y g : B ⟶ A
38 nfra1 ⊢ Ⅎ y ∀ y ∈ B g ⁡ y ∈ F -1 y
39 37 38 nfan ⊢ Ⅎ y g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y
40 36 39 nfan ⊢ Ⅎ y A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y
41 nfv ⊢ Ⅎ y z ∈ ran ⁡ g
42 40 41 nfan ⊢ Ⅎ y A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g
43 simpr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → g ⁡ y = z
44 43 fveq2d ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → F ⁡ g ⁡ y = F ⁡ z
45 4 ad5antlr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → F Fn A
46 simplrr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → ∀ y ∈ B g ⁡ y ∈ F -1 y
47 46 ad2antrr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → ∀ y ∈ B g ⁡ y ∈ F -1 y
48 simplr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → y ∈ B
49 rspa ⊢ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → g ⁡ y ∈ F -1 y
50 47 48 49 syl2anc ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → g ⁡ y ∈ F -1 y
51 fniniseg ⊢ F Fn A → g ⁡ y ∈ F -1 y ↔ g ⁡ y ∈ A ∧ F ⁡ g ⁡ y = y
52 51 simplbda ⊢ F Fn A ∧ g ⁡ y ∈ F -1 y → F ⁡ g ⁡ y = y
53 45 50 52 syl2anc ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → F ⁡ g ⁡ y = y
54 44 53 eqtr3d ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → F ⁡ z = y
55 54 fveq2d ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → g ⁡ F ⁡ z = g ⁡ y
56 55 43 eqtrd ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g ∧ y ∈ B ∧ g ⁡ y = z → g ⁡ F ⁡ z = z
57 fvelrnb ⊢ g Fn B → z ∈ ran ⁡ g ↔ ∃ y ∈ B g ⁡ y = z
58 57 biimpa ⊢ g Fn B ∧ z ∈ ran ⁡ g → ∃ y ∈ B g ⁡ y = z
59 30 58 sylan ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → ∃ y ∈ B g ⁡ y = z
60 42 56 59 r19.29af ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → g ⁡ F ⁡ z = z
61 35 60 eqtrd ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ z ∈ ran ⁡ g → g ⁡ F ↾ ran ⁡ g ⁡ z = z
62 61 ralrimiva ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → ∀ z ∈ ran ⁡ g g ⁡ F ↾ ran ⁡ g ⁡ z = z
63 32 ffvelcdmda ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → g ⁡ y ∈ ran ⁡ g
64 fvres ⊢ g ⁡ y ∈ ran ⁡ g → F ↾ ran ⁡ g ⁡ g ⁡ y = F ⁡ g ⁡ y
65 63 64 syl ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → F ↾ ran ⁡ g ⁡ g ⁡ y = F ⁡ g ⁡ y
66 4 ad3antlr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → F Fn A
67 simplrr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → ∀ y ∈ B g ⁡ y ∈ F -1 y
68 simpr ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → y ∈ B
69 67 68 49 syl2anc ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → g ⁡ y ∈ F -1 y
70 66 69 52 syl2anc ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → F ⁡ g ⁡ y = y
71 65 70 eqtrd ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y ∧ y ∈ B → F ↾ ran ⁡ g ⁡ g ⁡ y = y
72 71 ex ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → y ∈ B → F ↾ ran ⁡ g ⁡ g ⁡ y = y
73 40 72 ralrimi ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → ∀ y ∈ B F ↾ ran ⁡ g ⁡ g ⁡ y = y
74 28 32 62 73 2fvidf1od ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → F ↾ ran ⁡ g : ran ⁡ g ⟶ 1-1 onto B
75 reseq2 ⊢ x = ran ⁡ g → F ↾ x = F ↾ ran ⁡ g
76 id ⊢ x = ran ⁡ g → x = ran ⁡ g
77 eqidd ⊢ x = ran ⁡ g → B = B
78 75 76 77 f1oeq123d ⊢ x = ran ⁡ g → F ↾ x : x ⟶ 1-1 onto B ↔ F ↾ ran ⁡ g : ran ⁡ g ⟶ 1-1 onto B
79 78 rspcev ⊢ ran ⁡ g ∈ 𝒫 A ∧ F ↾ ran ⁡ g : ran ⁡ g ⟶ 1-1 onto B → ∃ x ∈ 𝒫 A F ↾ x : x ⟶ 1-1 onto B
80 25 74 79 syl2anc ⊢ A ∈ V ∧ F : A ⟶ onto B ∧ g : B ⟶ A ∧ ∀ y ∈ B g ⁡ y ∈ F -1 y → ∃ x ∈ 𝒫 A F ↾ x : x ⟶ 1-1 onto B
81 19 80 exlimddv ⊢ A ∈ V ∧ F : A ⟶ onto B → ∃ x ∈ 𝒫 A F ↾ x : x ⟶ 1-1 onto B