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

Theorem marypha1 7894
Description: (Philip) Hall's marriage theorem, sufficiency: a finite relation contains an injection if there is no subset of its domain which would be forced to violate the pigeonhole principle. (Contributed by Stefan O'Rear, 20-Feb-2015.)
Hypotheses
Ref Expression
marypha1.a  |-  ( ph  ->  A  e.  Fin )
marypha1.b  |-  ( ph  ->  B  e.  Fin )
marypha1.c  |-  ( ph  ->  C  C_  ( A  X.  B ) )
marypha1.d  |-  ( (
ph  /\  d  C_  A )  ->  d  ~<_  ( C " d ) )
Assertion
Ref Expression
marypha1  |-  ( ph  ->  E. f  e.  ~P  C f : A -1-1-> B )
Distinct variable groups:    ph, d, f    A, d, f    C, d, f
Allowed substitution hints:    B( f, d)

Proof of Theorem marypha1
Dummy variables  b 
c are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elpwi 4019 . . . . 5  |-  ( d  e.  ~P A  -> 
d  C_  A )
2 marypha1.d . . . . 5  |-  ( (
ph  /\  d  C_  A )  ->  d  ~<_  ( C " d ) )
31, 2sylan2 474 . . . 4  |-  ( (
ph  /\  d  e.  ~P A )  ->  d  ~<_  ( C " d ) )
43ralrimiva 2878 . . 3  |-  ( ph  ->  A. d  e.  ~P  A d  ~<_  ( C
" d ) )
5 marypha1.c . . . . 5  |-  ( ph  ->  C  C_  ( A  X.  B ) )
6 marypha1.a . . . . . . 7  |-  ( ph  ->  A  e.  Fin )
7 marypha1.b . . . . . . 7  |-  ( ph  ->  B  e.  Fin )
8 xpexg 6586 . . . . . . 7  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( A  X.  B
)  e.  _V )
96, 7, 8syl2anc 661 . . . . . 6  |-  ( ph  ->  ( A  X.  B
)  e.  _V )
10 elpw2g 4610 . . . . . 6  |-  ( ( A  X.  B )  e.  _V  ->  ( C  e.  ~P ( A  X.  B )  <->  C  C_  ( A  X.  B ) ) )
119, 10syl 16 . . . . 5  |-  ( ph  ->  ( C  e.  ~P ( A  X.  B
)  <->  C  C_  ( A  X.  B ) ) )
125, 11mpbird 232 . . . 4  |-  ( ph  ->  C  e.  ~P ( A  X.  B ) )
13 xpeq2 5014 . . . . . . . . 9  |-  ( b  =  B  ->  ( A  X.  b )  =  ( A  X.  B
) )
1413pweqd 4015 . . . . . . . 8  |-  ( b  =  B  ->  ~P ( A  X.  b
)  =  ~P ( A  X.  B ) )
1514raleqdv 3064 . . . . . . 7  |-  ( b  =  B  ->  ( A. c  e.  ~P  ( A  X.  b
) ( A. d  e.  ~P  A d  ~<_  ( c " d )  ->  E. f  e.  ~P  c f : A -1-1-> _V )  <->  A. c  e.  ~P  ( A  X.  B
) ( A. d  e.  ~P  A d  ~<_  ( c " d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) ) )
1615imbi2d 316 . . . . . 6  |-  ( b  =  B  ->  (
( A  e.  Fin  ->  A. c  e.  ~P  ( A  X.  b
) ( A. d  e.  ~P  A d  ~<_  ( c " d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) )  <->  ( A  e.  Fin  ->  A. c  e.  ~P  ( A  X.  B ) ( A. d  e.  ~P  A
d  ~<_  ( c "
d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) ) ) )
17 marypha1lem 7893 . . . . . . 7  |-  ( A  e.  Fin  ->  (
b  e.  Fin  ->  A. c  e.  ~P  ( A  X.  b ) ( A. d  e.  ~P  A d  ~<_  ( c
" d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) ) )
1817com12 31 . . . . . 6  |-  ( b  e.  Fin  ->  ( A  e.  Fin  ->  A. c  e.  ~P  ( A  X.  b ) ( A. d  e.  ~P  A
d  ~<_  ( c "
d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) ) )
1916, 18vtoclga 3177 . . . . 5  |-  ( B  e.  Fin  ->  ( A  e.  Fin  ->  A. c  e.  ~P  ( A  X.  B ) ( A. d  e.  ~P  A
d  ~<_  ( c "
d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) ) )
207, 6, 19sylc 60 . . . 4  |-  ( ph  ->  A. c  e.  ~P  ( A  X.  B
) ( A. d  e.  ~P  A d  ~<_  ( c " d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) )
21 imaeq1 5332 . . . . . . . 8  |-  ( c  =  C  ->  (
c " d )  =  ( C "
d ) )
2221breq2d 4459 . . . . . . 7  |-  ( c  =  C  ->  (
d  ~<_  ( c "
d )  <->  d  ~<_  ( C
" d ) ) )
2322ralbidv 2903 . . . . . 6  |-  ( c  =  C  ->  ( A. d  e.  ~P  A d  ~<_  ( c
" d )  <->  A. d  e.  ~P  A d  ~<_  ( C " d ) ) )
24 pweq 4013 . . . . . . 7  |-  ( c  =  C  ->  ~P c  =  ~P C
)
2524rexeqdv 3065 . . . . . 6  |-  ( c  =  C  ->  ( E. f  e.  ~P  c f : A -1-1-> _V  <->  E. f  e.  ~P  C
f : A -1-1-> _V ) )
2623, 25imbi12d 320 . . . . 5  |-  ( c  =  C  ->  (
( A. d  e. 
~P  A d  ~<_  ( c " d )  ->  E. f  e.  ~P  c f : A -1-1-> _V )  <->  ( A. d  e.  ~P  A d  ~<_  ( C " d )  ->  E. f  e.  ~P  C f : A -1-1-> _V ) ) )
2726rspcva 3212 . . . 4  |-  ( ( C  e.  ~P ( A  X.  B )  /\  A. c  e.  ~P  ( A  X.  B ) ( A. d  e.  ~P  A d  ~<_  ( c
" d )  ->  E. f  e.  ~P  c f : A -1-1-> _V ) )  ->  ( A. d  e.  ~P  A d  ~<_  ( C
" d )  ->  E. f  e.  ~P  C f : A -1-1-> _V ) )
2812, 20, 27syl2anc 661 . . 3  |-  ( ph  ->  ( A. d  e. 
~P  A d  ~<_  ( C " d )  ->  E. f  e.  ~P  C f : A -1-1-> _V ) )
294, 28mpd 15 . 2  |-  ( ph  ->  E. f  e.  ~P  C f : A -1-1-> _V )
30 elpwi 4019 . . . . . . 7  |-  ( f  e.  ~P C  -> 
f  C_  C )
3130, 5sylan9ssr 3518 . . . . . 6  |-  ( (
ph  /\  f  e.  ~P C )  ->  f  C_  ( A  X.  B
) )
32 rnss 5231 . . . . . 6  |-  ( f 
C_  ( A  X.  B )  ->  ran  f  C_  ran  ( A  X.  B ) )
3331, 32syl 16 . . . . 5  |-  ( (
ph  /\  f  e.  ~P C )  ->  ran  f  C_  ran  ( A  X.  B ) )
34 rnxpss 5439 . . . . 5  |-  ran  ( A  X.  B )  C_  B
3533, 34syl6ss 3516 . . . 4  |-  ( (
ph  /\  f  e.  ~P C )  ->  ran  f  C_  B )
36 f1ssr 5787 . . . . 5  |-  ( ( f : A -1-1-> _V  /\ 
ran  f  C_  B
)  ->  f : A -1-1-> B )
3736expcom 435 . . . 4  |-  ( ran  f  C_  B  ->  ( f : A -1-1-> _V  ->  f : A -1-1-> B
) )
3835, 37syl 16 . . 3  |-  ( (
ph  /\  f  e.  ~P C )  ->  (
f : A -1-1-> _V  ->  f : A -1-1-> B
) )
3938reximdva 2938 . 2  |-  ( ph  ->  ( E. f  e. 
~P  C f : A -1-1-> _V  ->  E. f  e.  ~P  C f : A -1-1-> B ) )
4029, 39mpd 15 1  |-  ( ph  ->  E. f  e.  ~P  C f : A -1-1-> B )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1379    e. wcel 1767   A.wral 2814   E.wrex 2815   _Vcvv 3113    C_ wss 3476   ~Pcpw 4010   class class class wbr 4447    X. cxp 4997   ran crn 5000   "cima 5002   -1-1->wf1 5585    ~<_ cdom 7514   Fincfn 7516
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6576
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-ral 2819  df-rex 2820  df-rab 2823  df-v 3115  df-sbc 3332  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-br 4448  df-opab 4506  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-om 6685  df-1o 7130  df-er 7311  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520
This theorem is referenced by:  marypha2  7899
  Copyright terms: Public domain W3C validator