MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  fodomr Structured version   Unicode version

Theorem fodomr 7667
Description: There exists a mapping from a set onto any (nonempty) set that it dominates. (Contributed by NM, 23-Mar-2006.)
Assertion
Ref Expression
fodomr  |-  ( (
(/)  ~<  B  /\  B  ~<_  A )  ->  E. f 
f : A -onto-> B
)
Distinct variable groups:    A, f    B, f

Proof of Theorem fodomr
Dummy variables  g 
z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 reldom 7521 . . . 4  |-  Rel  ~<_
21brrelex2i 5028 . . 3  |-  ( B  ~<_  A  ->  A  e.  _V )
32adantl 466 . 2  |-  ( (
(/)  ~<  B  /\  B  ~<_  A )  ->  A  e.  _V )
41brrelexi 5027 . . . 4  |-  ( B  ~<_  A  ->  B  e.  _V )
5 0sdomg 7645 . . . . 5  |-  ( B  e.  _V  ->  ( (/) 
~<  B  <->  B  =/=  (/) ) )
6 n0 3777 . . . . 5  |-  ( B  =/=  (/)  <->  E. z  z  e.  B )
75, 6syl6bb 261 . . . 4  |-  ( B  e.  _V  ->  ( (/) 
~<  B  <->  E. z  z  e.  B ) )
84, 7syl 16 . . 3  |-  ( B  ~<_  A  ->  ( (/)  ~<  B  <->  E. z 
z  e.  B ) )
98biimpac 486 . 2  |-  ( (
(/)  ~<  B  /\  B  ~<_  A )  ->  E. z 
z  e.  B )
10 brdomi 7526 . . 3  |-  ( B  ~<_  A  ->  E. g 
g : B -1-1-> A
)
1110adantl 466 . 2  |-  ( (
(/)  ~<  B  /\  B  ~<_  A )  ->  E. g 
g : B -1-1-> A
)
12 difexg 4582 . . . . . . . . . 10  |-  ( A  e.  _V  ->  ( A  \  ran  g )  e.  _V )
13 snex 4675 . . . . . . . . . 10  |-  { z }  e.  _V
14 xpexg 6584 . . . . . . . . . 10  |-  ( ( ( A  \  ran  g )  e.  _V  /\ 
{ z }  e.  _V )  ->  ( ( A  \  ran  g
)  X.  { z } )  e.  _V )
1512, 13, 14sylancl 662 . . . . . . . . 9  |-  ( A  e.  _V  ->  (
( A  \  ran  g )  X.  {
z } )  e. 
_V )
16 vex 3096 . . . . . . . . . 10  |-  g  e. 
_V
1716cnvex 6729 . . . . . . . . 9  |-  `' g  e.  _V
1815, 17jctil 537 . . . . . . . 8  |-  ( A  e.  _V  ->  ( `' g  e.  _V  /\  ( ( A  \  ran  g )  X.  {
z } )  e. 
_V ) )
19 unexb 6582 . . . . . . . 8  |-  ( ( `' g  e.  _V  /\  ( ( A  \  ran  g )  X.  {
z } )  e. 
_V )  <->  ( `' g  u.  ( ( A  \  ran  g )  X.  { z } ) )  e.  _V )
2018, 19sylib 196 . . . . . . 7  |-  ( A  e.  _V  ->  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  e.  _V )
21 df-f1 5580 . . . . . . . . . . . . 13  |-  ( g : B -1-1-> A  <->  ( g : B --> A  /\  Fun  `' g ) )
2221simprbi 464 . . . . . . . . . . . 12  |-  ( g : B -1-1-> A  ->  Fun  `' g )
23 vex 3096 . . . . . . . . . . . . . 14  |-  z  e. 
_V
2423fconst 5758 . . . . . . . . . . . . 13  |-  ( ( A  \  ran  g
)  X.  { z } ) : ( A  \  ran  g
) --> { z }
25 ffun 5720 . . . . . . . . . . . . 13  |-  ( ( ( A  \  ran  g )  X.  {
z } ) : ( A  \  ran  g ) --> { z }  ->  Fun  ( ( A  \  ran  g
)  X.  { z } ) )
2624, 25ax-mp 5 . . . . . . . . . . . 12  |-  Fun  (
( A  \  ran  g )  X.  {
z } )
2722, 26jctir 538 . . . . . . . . . . 11  |-  ( g : B -1-1-> A  -> 
( Fun  `' g  /\  Fun  ( ( A 
\  ran  g )  X.  { z } ) ) )
28 df-rn 4997 . . . . . . . . . . . . . 14  |-  ran  g  =  dom  `' g
2928eqcomi 2454 . . . . . . . . . . . . 13  |-  dom  `' g  =  ran  g
3023snnz 4130 . . . . . . . . . . . . . 14  |-  { z }  =/=  (/)
31 dmxp 5208 . . . . . . . . . . . . . 14  |-  ( { z }  =/=  (/)  ->  dom  ( ( A  \  ran  g )  X.  {
z } )  =  ( A  \  ran  g ) )
3230, 31ax-mp 5 . . . . . . . . . . . . 13  |-  dom  (
( A  \  ran  g )  X.  {
z } )  =  ( A  \  ran  g )
3329, 32ineq12i 3681 . . . . . . . . . . . 12  |-  ( dom  `' g  i^i  dom  (
( A  \  ran  g )  X.  {
z } ) )  =  ( ran  g  i^i  ( A  \  ran  g ) )
34 disjdif 3883 . . . . . . . . . . . 12  |-  ( ran  g  i^i  ( A 
\  ran  g )
)  =  (/)
3533, 34eqtri 2470 . . . . . . . . . . 11  |-  ( dom  `' g  i^i  dom  (
( A  \  ran  g )  X.  {
z } ) )  =  (/)
36 funun 5617 . . . . . . . . . . 11  |-  ( ( ( Fun  `' g  /\  Fun  ( ( A  \  ran  g
)  X.  { z } ) )  /\  ( dom  `' g  i^i 
dom  ( ( A 
\  ran  g )  X.  { z } ) )  =  (/) )  ->  Fun  ( `' g  u.  ( ( A  \  ran  g )  X.  {
z } ) ) )
3727, 35, 36sylancl 662 . . . . . . . . . 10  |-  ( g : B -1-1-> A  ->  Fun  ( `' g  u.  ( ( A  \  ran  g )  X.  {
z } ) ) )
3837adantl 466 . . . . . . . . 9  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  Fun  ( `' g  u.  ( ( A  \  ran  g )  X.  { z } ) ) )
39 dmun 5196 . . . . . . . . . . . 12  |-  dom  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  =  ( dom  `' g  u.  dom  ( ( A  \  ran  g
)  X.  { z } ) )
4028uneq1i 3637 . . . . . . . . . . . 12  |-  ( ran  g  u.  dom  (
( A  \  ran  g )  X.  {
z } ) )  =  ( dom  `' g  u.  dom  ( ( A  \  ran  g
)  X.  { z } ) )
4132uneq2i 3638 . . . . . . . . . . . 12  |-  ( ran  g  u.  dom  (
( A  \  ran  g )  X.  {
z } ) )  =  ( ran  g  u.  ( A  \  ran  g ) )
4239, 40, 413eqtr2i 2476 . . . . . . . . . . 11  |-  dom  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  =  ( ran  g  u.  ( A  \  ran  g ) )
43 f1f 5768 . . . . . . . . . . . . 13  |-  ( g : B -1-1-> A  -> 
g : B --> A )
44 frn 5724 . . . . . . . . . . . . 13  |-  ( g : B --> A  ->  ran  g  C_  A )
4543, 44syl 16 . . . . . . . . . . . 12  |-  ( g : B -1-1-> A  ->  ran  g  C_  A )
46 undif 3891 . . . . . . . . . . . 12  |-  ( ran  g  C_  A  <->  ( ran  g  u.  ( A  \  ran  g ) )  =  A )
4745, 46sylib 196 . . . . . . . . . . 11  |-  ( g : B -1-1-> A  -> 
( ran  g  u.  ( A  \  ran  g
) )  =  A )
4842, 47syl5eq 2494 . . . . . . . . . 10  |-  ( g : B -1-1-> A  ->  dom  ( `' g  u.  ( ( A  \  ran  g )  X.  {
z } ) )  =  A )
4948adantl 466 . . . . . . . . 9  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  dom  ( `' g  u.  ( ( A  \  ran  g )  X.  { z } ) )  =  A )
50 df-fn 5578 . . . . . . . . 9  |-  ( ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  Fn  A  <->  ( Fun  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  /\  dom  ( `' g  u.  ( ( A  \  ran  g
)  X.  { z } ) )  =  A ) )
5138, 49, 50sylanbrc 664 . . . . . . . 8  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  ( `' g  u.  ( ( A 
\  ran  g )  X.  { z } ) )  Fn  A )
52 rnun 5401 . . . . . . . . 9  |-  ran  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  =  ( ran  `' g  u.  ran  ( ( A  \  ran  g
)  X.  { z } ) )
53 dfdm4 5182 . . . . . . . . . . . 12  |-  dom  g  =  ran  `' g
54 f1dm 5772 . . . . . . . . . . . 12  |-  ( g : B -1-1-> A  ->  dom  g  =  B
)
5553, 54syl5eqr 2496 . . . . . . . . . . 11  |-  ( g : B -1-1-> A  ->  ran  `' g  =  B
)
5655uneq1d 3640 . . . . . . . . . 10  |-  ( g : B -1-1-> A  -> 
( ran  `' g  u.  ran  ( ( A 
\  ran  g )  X.  { z } ) )  =  ( B  u.  ran  ( ( A  \  ran  g
)  X.  { z } ) ) )
57 xpeq1 5000 . . . . . . . . . . . . . . . . 17  |-  ( ( A  \  ran  g
)  =  (/)  ->  (
( A  \  ran  g )  X.  {
z } )  =  ( (/)  X.  { z } ) )
58 0xp 5067 . . . . . . . . . . . . . . . . 17  |-  ( (/)  X. 
{ z } )  =  (/)
5957, 58syl6eq 2498 . . . . . . . . . . . . . . . 16  |-  ( ( A  \  ran  g
)  =  (/)  ->  (
( A  \  ran  g )  X.  {
z } )  =  (/) )
6059rneqd 5217 . . . . . . . . . . . . . . 15  |-  ( ( A  \  ran  g
)  =  (/)  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  =  ran  (/) )
61 rn0 5241 . . . . . . . . . . . . . . 15  |-  ran  (/)  =  (/)
6260, 61syl6eq 2498 . . . . . . . . . . . . . 14  |-  ( ( A  \  ran  g
)  =  (/)  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  =  (/) )
63 0ss 3797 . . . . . . . . . . . . . 14  |-  (/)  C_  B
6462, 63syl6eqss 3537 . . . . . . . . . . . . 13  |-  ( ( A  \  ran  g
)  =  (/)  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B )
6564a1d 25 . . . . . . . . . . . 12  |-  ( ( A  \  ran  g
)  =  (/)  ->  (
z  e.  B  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B ) )
66 rnxp 5424 . . . . . . . . . . . . . . 15  |-  ( ( A  \  ran  g
)  =/=  (/)  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  =  { z } )
6766adantr 465 . . . . . . . . . . . . . 14  |-  ( ( ( A  \  ran  g )  =/=  (/)  /\  z  e.  B )  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  =  { z } )
68 snssi 4156 . . . . . . . . . . . . . . 15  |-  ( z  e.  B  ->  { z }  C_  B )
6968adantl 466 . . . . . . . . . . . . . 14  |-  ( ( ( A  \  ran  g )  =/=  (/)  /\  z  e.  B )  ->  { z }  C_  B )
7067, 69eqsstrd 3521 . . . . . . . . . . . . 13  |-  ( ( ( A  \  ran  g )  =/=  (/)  /\  z  e.  B )  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B )
7170ex 434 . . . . . . . . . . . 12  |-  ( ( A  \  ran  g
)  =/=  (/)  ->  (
z  e.  B  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B ) )
7265, 71pm2.61ine 2754 . . . . . . . . . . 11  |-  ( z  e.  B  ->  ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B )
73 ssequn2 3660 . . . . . . . . . . 11  |-  ( ran  ( ( A  \  ran  g )  X.  {
z } )  C_  B 
<->  ( B  u.  ran  ( ( A  \  ran  g )  X.  {
z } ) )  =  B )
7472, 73sylib 196 . . . . . . . . . 10  |-  ( z  e.  B  ->  ( B  u.  ran  ( ( A  \  ran  g
)  X.  { z } ) )  =  B )
7556, 74sylan9eqr 2504 . . . . . . . . 9  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  ( ran  `' g  u.  ran  ( ( A  \  ran  g
)  X.  { z } ) )  =  B )
7652, 75syl5eq 2494 . . . . . . . 8  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  ran  ( `' g  u.  ( ( A  \  ran  g )  X.  { z } ) )  =  B )
77 df-fo 5581 . . . . . . . 8  |-  ( ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) ) : A -onto-> B  <->  ( ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  Fn  A  /\  ran  ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  =  B ) )
7851, 76, 77sylanbrc 664 . . . . . . 7  |-  ( ( z  e.  B  /\  g : B -1-1-> A )  ->  ( `' g  u.  ( ( A 
\  ran  g )  X.  { z } ) ) : A -onto-> B
)
79 foeq1 5778 . . . . . . . 8  |-  ( f  =  ( `' g  u.  ( ( A 
\  ran  g )  X.  { z } ) )  ->  ( f : A -onto-> B  <->  ( `' g  u.  ( ( A 
\  ran  g )  X.  { z } ) ) : A -onto-> B
) )
8079spcegv 3179 . . . . . . 7  |-  ( ( `' g  u.  (
( A  \  ran  g )  X.  {
z } ) )  e.  _V  ->  (
( `' g  u.  ( ( A  \  ran  g )  X.  {
z } ) ) : A -onto-> B  ->  E. f  f : A -onto-> B ) )
8120, 78, 80syl2im 38 . . . . . 6  |-  ( A  e.  _V  ->  (
( z  e.  B  /\  g : B -1-1-> A
)  ->  E. f 
f : A -onto-> B
) )
8281expdimp 437 . . . . 5  |-  ( ( A  e.  _V  /\  z  e.  B )  ->  ( g : B -1-1-> A  ->  E. f  f : A -onto-> B ) )
8382exlimdv 1709 . . . 4  |-  ( ( A  e.  _V  /\  z  e.  B )  ->  ( E. g  g : B -1-1-> A  ->  E. f  f : A -onto-> B ) )
8483ex 434 . . 3  |-  ( A  e.  _V  ->  (
z  e.  B  -> 
( E. g  g : B -1-1-> A  ->  E. f  f : A -onto-> B ) ) )
8584exlimdv 1709 . 2  |-  ( A  e.  _V  ->  ( E. z  z  e.  B  ->  ( E. g 
g : B -1-1-> A  ->  E. f  f : A -onto-> B ) ) )
863, 9, 11, 85syl3c 61 1  |-  ( (
(/)  ~<  B  /\  B  ~<_  A )  ->  E. f 
f : A -onto-> B
)
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1381   E.wex 1597    e. wcel 1802    =/= wne 2636   _Vcvv 3093    \ cdif 3456    u. cun 3457    i^i cin 3458    C_ wss 3459   (/)c0 3768   {csn 4011   class class class wbr 4434    X. cxp 4984   `'ccnv 4985   dom cdm 4986   ran crn 4987   Fun wfun 5569    Fn wfn 5570   -->wf 5571   -1-1->wf1 5572   -onto->wfo 5573    ~<_ cdom 7513    ~< csdm 7514
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1603  ax-4 1616  ax-5 1689  ax-6 1732  ax-7 1774  ax-8 1804  ax-9 1806  ax-10 1821  ax-11 1826  ax-12 1838  ax-13 1983  ax-ext 2419  ax-sep 4555  ax-nul 4563  ax-pow 4612  ax-pr 4673  ax-un 6574
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 974  df-tru 1384  df-ex 1598  df-nf 1602  df-sb 1725  df-eu 2270  df-mo 2271  df-clab 2427  df-cleq 2433  df-clel 2436  df-nfc 2591  df-ne 2638  df-ral 2796  df-rex 2797  df-rab 2800  df-v 3095  df-dif 3462  df-un 3464  df-in 3466  df-ss 3473  df-nul 3769  df-if 3924  df-pw 3996  df-sn 4012  df-pr 4014  df-op 4018  df-uni 4232  df-br 4435  df-opab 4493  df-mpt 4494  df-id 4782  df-xp 4992  df-rel 4993  df-cnv 4994  df-co 4995  df-dm 4996  df-rn 4997  df-res 4998  df-ima 4999  df-fun 5577  df-fn 5578  df-f 5579  df-f1 5580  df-fo 5581  df-f1o 5582  df-er 7310  df-en 7516  df-dom 7517  df-sdom 7518
This theorem is referenced by:  pwdom  7668  fodomfib  7799  domwdom  8000  iunfictbso  8495  fodomb  8904  brdom3  8906  konigthlem  8943  1stcfb  19816  ovoliunnul  21788  ovoliunnfl  30028  voliunnfl  30030  volsupnfl  30031
  Copyright terms: Public domain W3C validator