This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Express being onto for a mapping operation. (Contributed by Glauco Siliprandi, 17-Aug-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | fompt.1 | |- F = ( x e. A |-> C ) |
|
| Assertion | fompt | |- ( F : A -onto-> B <-> ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fompt.1 | |- F = ( x e. A |-> C ) |
|
| 2 | fof | |- ( F : A -onto-> B -> F : A --> B ) |
|
| 3 | 1 | fmpt | |- ( A. x e. A C e. B <-> F : A --> B ) |
| 4 | 2 3 | sylibr | |- ( F : A -onto-> B -> A. x e. A C e. B ) |
| 5 | nfmpt1 | |- F/_ x ( x e. A |-> C ) |
|
| 6 | 1 5 | nfcxfr | |- F/_ x F |
| 7 | 6 | foelrnf | |- ( ( F : A -onto-> B /\ y e. B ) -> E. x e. A y = ( F ` x ) ) |
| 8 | nfcv | |- F/_ x A |
|
| 9 | nfcv | |- F/_ x B |
|
| 10 | 6 8 9 | nffo | |- F/ x F : A -onto-> B |
| 11 | simpr | |- ( ( ( F : A -onto-> B /\ x e. A ) /\ y = ( F ` x ) ) -> y = ( F ` x ) ) |
|
| 12 | simpr | |- ( ( F : A -onto-> B /\ x e. A ) -> x e. A ) |
|
| 13 | 4 | r19.21bi | |- ( ( F : A -onto-> B /\ x e. A ) -> C e. B ) |
| 14 | 1 | fvmpt2 | |- ( ( x e. A /\ C e. B ) -> ( F ` x ) = C ) |
| 15 | 12 13 14 | syl2anc | |- ( ( F : A -onto-> B /\ x e. A ) -> ( F ` x ) = C ) |
| 16 | 15 | adantr | |- ( ( ( F : A -onto-> B /\ x e. A ) /\ y = ( F ` x ) ) -> ( F ` x ) = C ) |
| 17 | 11 16 | eqtrd | |- ( ( ( F : A -onto-> B /\ x e. A ) /\ y = ( F ` x ) ) -> y = C ) |
| 18 | 17 | exp31 | |- ( F : A -onto-> B -> ( x e. A -> ( y = ( F ` x ) -> y = C ) ) ) |
| 19 | 10 18 | reximdai | |- ( F : A -onto-> B -> ( E. x e. A y = ( F ` x ) -> E. x e. A y = C ) ) |
| 20 | 19 | adantr | |- ( ( F : A -onto-> B /\ y e. B ) -> ( E. x e. A y = ( F ` x ) -> E. x e. A y = C ) ) |
| 21 | 7 20 | mpd | |- ( ( F : A -onto-> B /\ y e. B ) -> E. x e. A y = C ) |
| 22 | 21 | ralrimiva | |- ( F : A -onto-> B -> A. y e. B E. x e. A y = C ) |
| 23 | 4 22 | jca | |- ( F : A -onto-> B -> ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) ) |
| 24 | 3 | birani | |- ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) -> F : A --> B ) |
| 25 | nfv | |- F/ y A. x e. A C e. B |
|
| 26 | nfra1 | |- F/ y A. y e. B E. x e. A y = C |
|
| 27 | 25 26 | nfan | |- F/ y ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) |
| 28 | simpll | |- ( ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) /\ y e. B ) -> A. x e. A C e. B ) |
|
| 29 | rspa | |- ( ( A. y e. B E. x e. A y = C /\ y e. B ) -> E. x e. A y = C ) |
|
| 30 | 29 | adantll | |- ( ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) /\ y e. B ) -> E. x e. A y = C ) |
| 31 | nfra1 | |- F/ x A. x e. A C e. B |
|
| 32 | simp3 | |- ( ( A. x e. A C e. B /\ x e. A /\ y = C ) -> y = C ) |
|
| 33 | simpr | |- ( ( A. x e. A C e. B /\ x e. A ) -> x e. A ) |
|
| 34 | rspa | |- ( ( A. x e. A C e. B /\ x e. A ) -> C e. B ) |
|
| 35 | 33 34 14 | syl2anc | |- ( ( A. x e. A C e. B /\ x e. A ) -> ( F ` x ) = C ) |
| 36 | 35 | eqcomd | |- ( ( A. x e. A C e. B /\ x e. A ) -> C = ( F ` x ) ) |
| 37 | 36 | 3adant3 | |- ( ( A. x e. A C e. B /\ x e. A /\ y = C ) -> C = ( F ` x ) ) |
| 38 | 32 37 | eqtrd | |- ( ( A. x e. A C e. B /\ x e. A /\ y = C ) -> y = ( F ` x ) ) |
| 39 | 38 | 3exp | |- ( A. x e. A C e. B -> ( x e. A -> ( y = C -> y = ( F ` x ) ) ) ) |
| 40 | 31 39 | reximdai | |- ( A. x e. A C e. B -> ( E. x e. A y = C -> E. x e. A y = ( F ` x ) ) ) |
| 41 | 28 30 40 | sylc | |- ( ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) /\ y e. B ) -> E. x e. A y = ( F ` x ) ) |
| 42 | 27 41 | ralrimia | |- ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) -> A. y e. B E. x e. A y = ( F ` x ) ) |
| 43 | 6 | dffo3f | |- ( F : A -onto-> B <-> ( F : A --> B /\ A. y e. B E. x e. A y = ( F ` x ) ) ) |
| 44 | 24 42 43 | sylanbrc | |- ( ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) -> F : A -onto-> B ) |
| 45 | 23 44 | impbii | |- ( F : A -onto-> B <-> ( A. x e. A C e. B /\ A. y e. B E. x e. A y = C ) ) |