| Step |
Hyp |
Ref |
Expression |
| 1 |
|
f1oresrab.1 |
|- F = ( x e. A |-> C ) |
| 2 |
|
f1oresrab.2 |
|- ( ph -> F : A -1-1-onto-> B ) |
| 3 |
|
f1oresrab.3 |
|- ( ( ph /\ x e. A /\ y = C ) -> ( ch <-> ps ) ) |
| 4 |
|
f1ofun |
|- ( F : A -1-1-onto-> B -> Fun F ) |
| 5 |
|
funcnvcnv |
|- ( Fun F -> Fun `' `' F ) |
| 6 |
2 4 5
|
3syl |
|- ( ph -> Fun `' `' F ) |
| 7 |
|
f1ocnv |
|- ( F : A -1-1-onto-> B -> `' F : B -1-1-onto-> A ) |
| 8 |
|
f1of1 |
|- ( `' F : B -1-1-onto-> A -> `' F : B -1-1-> A ) |
| 9 |
2 7 8
|
3syl |
|- ( ph -> `' F : B -1-1-> A ) |
| 10 |
|
ssrab2 |
|- { y e. B | ch } C_ B |
| 11 |
|
f1ores |
|- ( ( `' F : B -1-1-> A /\ { y e. B | ch } C_ B ) -> ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> ( `' F " { y e. B | ch } ) ) |
| 12 |
9 10 11
|
sylancl |
|- ( ph -> ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> ( `' F " { y e. B | ch } ) ) |
| 13 |
1
|
mptpreima |
|- ( `' F " { y e. B | ch } ) = { x e. A | C e. { y e. B | ch } } |
| 14 |
3
|
3expia |
|- ( ( ph /\ x e. A ) -> ( y = C -> ( ch <-> ps ) ) ) |
| 15 |
14
|
alrimiv |
|- ( ( ph /\ x e. A ) -> A. y ( y = C -> ( ch <-> ps ) ) ) |
| 16 |
|
f1of |
|- ( F : A -1-1-onto-> B -> F : A --> B ) |
| 17 |
2 16
|
syl |
|- ( ph -> F : A --> B ) |
| 18 |
1
|
fmpt |
|- ( A. x e. A C e. B <-> F : A --> B ) |
| 19 |
17 18
|
sylibr |
|- ( ph -> A. x e. A C e. B ) |
| 20 |
19
|
r19.21bi |
|- ( ( ph /\ x e. A ) -> C e. B ) |
| 21 |
|
elrab3t |
|- ( ( A. y ( y = C -> ( ch <-> ps ) ) /\ C e. B ) -> ( C e. { y e. B | ch } <-> ps ) ) |
| 22 |
15 20 21
|
syl2anc |
|- ( ( ph /\ x e. A ) -> ( C e. { y e. B | ch } <-> ps ) ) |
| 23 |
22
|
rabbidva |
|- ( ph -> { x e. A | C e. { y e. B | ch } } = { x e. A | ps } ) |
| 24 |
13 23
|
eqtrid |
|- ( ph -> ( `' F " { y e. B | ch } ) = { x e. A | ps } ) |
| 25 |
24
|
f1oeq3d |
|- ( ph -> ( ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> ( `' F " { y e. B | ch } ) <-> ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> { x e. A | ps } ) ) |
| 26 |
12 25
|
mpbid |
|- ( ph -> ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> { x e. A | ps } ) |
| 27 |
|
f1orescnv |
|- ( ( Fun `' `' F /\ ( `' F |` { y e. B | ch } ) : { y e. B | ch } -1-1-onto-> { x e. A | ps } ) -> ( `' `' F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } ) |
| 28 |
6 26 27
|
syl2anc |
|- ( ph -> ( `' `' F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } ) |
| 29 |
|
rescnvcnv |
|- ( `' `' F |` { x e. A | ps } ) = ( F |` { x e. A | ps } ) |
| 30 |
|
f1oeq1 |
|- ( ( `' `' F |` { x e. A | ps } ) = ( F |` { x e. A | ps } ) -> ( ( `' `' F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } <-> ( F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } ) ) |
| 31 |
29 30
|
ax-mp |
|- ( ( `' `' F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } <-> ( F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } ) |
| 32 |
28 31
|
sylib |
|- ( ph -> ( F |` { x e. A | ps } ) : { x e. A | ps } -1-1-onto-> { y e. B | ch } ) |