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 AVF:AontoBx𝒫AFx:x1-1 ontoB

Proof

Step Hyp Ref Expression
1 focdmex AVF:AontoBBV
2 1 imp AVF:AontoBBV
3 foelrn F:AontoByBzAy=Fz
4 fofn F:AontoBFFnA
5 eqcom Fz=yy=Fz
6 fniniseg FFnAzF-1yzAFz=y
7 6 biimpar FFnAzAFz=yzF-1y
8 7 anassrs FFnAzAFz=yzF-1y
9 5 8 sylan2br FFnAzAy=FzzF-1y
10 4 9 sylanl1 F:AontoBzAy=FzzF-1y
11 10 ex F:AontoBzAy=FzzF-1y
12 11 reximdva F:AontoBzAy=FzzAzF-1y
13 12 adantr F:AontoByBzAy=FzzAzF-1y
14 3 13 mpd F:AontoByBzAzF-1y
15 14 adantll AVF:AontoByBzAzF-1y
16 15 ralrimiva AVF:AontoByBzAzF-1y
17 eleq1 z=gyzF-1ygyF-1y
18 17 ac6sg BVyBzAzF-1ygg:BAyBgyF-1y
19 2 16 18 sylc AVF:AontoBgg:BAyBgyF-1y
20 frn g:BArangA
21 20 ad2antrl AVF:AontoBg:BAyBgyF-1yrangA
22 vex gV
23 22 rnex rangV
24 23 elpw rang𝒫ArangA
25 21 24 sylibr AVF:AontoBg:BAyBgyF-1yrang𝒫A
26 fof F:AontoBF:AB
27 26 ad2antlr AVF:AontoBg:BAyBgyF-1yF:AB
28 27 21 fssresd AVF:AontoBg:BAyBgyF-1yFrang:rangB
29 ffn g:BAgFnB
30 29 ad2antrl AVF:AontoBg:BAyBgyF-1ygFnB
31 dffn3 gFnBg:Brang
32 30 31 sylib AVF:AontoBg:BAyBgyF-1yg:Brang
33 fvres zrangFrangz=Fz
34 33 adantl AVF:AontoBg:BAyBgyF-1yzrangFrangz=Fz
35 34 fveq2d AVF:AontoBg:BAyBgyF-1yzranggFrangz=gFz
36 nfv yAVF:AontoB
37 nfv yg:BA
38 nfra1 yyBgyF-1y
39 37 38 nfan yg:BAyBgyF-1y
40 36 39 nfan yAVF:AontoBg:BAyBgyF-1y
41 nfv yzrang
42 40 41 nfan yAVF:AontoBg:BAyBgyF-1yzrang
43 simpr AVF:AontoBg:BAyBgyF-1yzrangyBgy=zgy=z
44 43 fveq2d AVF:AontoBg:BAyBgyF-1yzrangyBgy=zFgy=Fz
45 4 ad5antlr AVF:AontoBg:BAyBgyF-1yzrangyBgy=zFFnA
46 simplrr AVF:AontoBg:BAyBgyF-1yzrangyBgyF-1y
47 46 ad2antrr AVF:AontoBg:BAyBgyF-1yzrangyBgy=zyBgyF-1y
48 simplr AVF:AontoBg:BAyBgyF-1yzrangyBgy=zyB
49 rspa yBgyF-1yyBgyF-1y
50 47 48 49 syl2anc AVF:AontoBg:BAyBgyF-1yzrangyBgy=zgyF-1y
51 fniniseg FFnAgyF-1ygyAFgy=y
52 51 simplbda FFnAgyF-1yFgy=y
53 45 50 52 syl2anc AVF:AontoBg:BAyBgyF-1yzrangyBgy=zFgy=y
54 44 53 eqtr3d AVF:AontoBg:BAyBgyF-1yzrangyBgy=zFz=y
55 54 fveq2d AVF:AontoBg:BAyBgyF-1yzrangyBgy=zgFz=gy
56 55 43 eqtrd AVF:AontoBg:BAyBgyF-1yzrangyBgy=zgFz=z
57 fvelrnb gFnBzrangyBgy=z
58 57 biimpa gFnBzrangyBgy=z
59 30 58 sylan AVF:AontoBg:BAyBgyF-1yzrangyBgy=z
60 42 56 59 r19.29af AVF:AontoBg:BAyBgyF-1yzranggFz=z
61 35 60 eqtrd AVF:AontoBg:BAyBgyF-1yzranggFrangz=z
62 61 ralrimiva AVF:AontoBg:BAyBgyF-1yzranggFrangz=z
63 32 ffvelcdmda AVF:AontoBg:BAyBgyF-1yyBgyrang
64 fvres gyrangFranggy=Fgy
65 63 64 syl AVF:AontoBg:BAyBgyF-1yyBFranggy=Fgy
66 4 ad3antlr AVF:AontoBg:BAyBgyF-1yyBFFnA
67 simplrr AVF:AontoBg:BAyBgyF-1yyByBgyF-1y
68 simpr AVF:AontoBg:BAyBgyF-1yyByB
69 67 68 49 syl2anc AVF:AontoBg:BAyBgyF-1yyBgyF-1y
70 66 69 52 syl2anc AVF:AontoBg:BAyBgyF-1yyBFgy=y
71 65 70 eqtrd AVF:AontoBg:BAyBgyF-1yyBFranggy=y
72 71 ex AVF:AontoBg:BAyBgyF-1yyBFranggy=y
73 40 72 ralrimi AVF:AontoBg:BAyBgyF-1yyBFranggy=y
74 28 32 62 73 2fvidf1od AVF:AontoBg:BAyBgyF-1yFrang:rang1-1 ontoB
75 reseq2 x=rangFx=Frang
76 id x=rangx=rang
77 eqidd x=rangB=B
78 75 76 77 f1oeq123d x=rangFx:x1-1 ontoBFrang:rang1-1 ontoB
79 78 rspcev rang𝒫AFrang:rang1-1 ontoBx𝒫AFx:x1-1 ontoB
80 25 74 79 syl2anc AVF:AontoBg:BAyBgyF-1yx𝒫AFx:x1-1 ontoB
81 19 80 exlimddv AVF:AontoBx𝒫AFx:x1-1 ontoB