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

Theorem php 7699
Description: Pigeonhole Principle. A natural number is not equinumerous to a proper subset of itself. Theorem (Pigeonhole Principle) of [Enderton] p. 134. The theorem is so-called because you can't put n + 1 pigeons into n holes (if each hole holds only one pigeon). The proof consists of lemmas phplem1 7694 through phplem4 7697, nneneq 7698, and this final piece of the proof. (Contributed by NM, 29-May-1998.)
Assertion
Ref Expression
php  |-  ( ( A  e.  om  /\  B  C.  A )  ->  -.  A  ~~  B )

Proof of Theorem php
Dummy variables  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 0ss 3796 . . . . . . . 8  |-  (/)  C_  B
2 sspsstr 3591 . . . . . . . 8  |-  ( (
(/)  C_  B  /\  B  C.  A )  ->  (/)  C.  A
)
31, 2mpan 670 . . . . . . 7  |-  ( B 
C.  A  ->  (/)  C.  A
)
4 0pss 3846 . . . . . . . 8  |-  ( (/)  C.  A  <->  A  =/=  (/) )
5 df-ne 2638 . . . . . . . 8  |-  ( A  =/=  (/)  <->  -.  A  =  (/) )
64, 5bitri 249 . . . . . . 7  |-  ( (/)  C.  A  <->  -.  A  =  (/) )
73, 6sylib 196 . . . . . 6  |-  ( B 
C.  A  ->  -.  A  =  (/) )
8 nn0suc 6705 . . . . . . 7  |-  ( A  e.  om  ->  ( A  =  (/)  \/  E. x  e.  om  A  =  suc  x ) )
98orcanai 911 . . . . . 6  |-  ( ( A  e.  om  /\  -.  A  =  (/) )  ->  E. x  e.  om  A  =  suc  x )
107, 9sylan2 474 . . . . 5  |-  ( ( A  e.  om  /\  B  C.  A )  ->  E. x  e.  om  A  =  suc  x )
11 pssnel 3875 . . . . . . . . . 10  |-  ( B 
C.  suc  x  ->  E. y ( y  e. 
suc  x  /\  -.  y  e.  B )
)
12 pssss 3581 . . . . . . . . . . . . . . . . 17  |-  ( B 
C.  suc  x  ->  B 
C_  suc  x )
13 ssdif 3621 . . . . . . . . . . . . . . . . . 18  |-  ( B 
C_  suc  x  ->  ( B  \  { y } )  C_  ( suc  x  \  { y } ) )
14 disjsn 4071 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( B  i^i  { y } )  =  (/)  <->  -.  y  e.  B )
15 disj3 3853 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( B  i^i  { y } )  =  (/)  <->  B  =  ( B  \  { y } ) )
1614, 15bitr3i 251 . . . . . . . . . . . . . . . . . . 19  |-  ( -.  y  e.  B  <->  B  =  ( B  \  { y } ) )
17 sseq1 3507 . . . . . . . . . . . . . . . . . . 19  |-  ( B  =  ( B  \  { y } )  ->  ( B  C_  ( suc  x  \  {
y } )  <->  ( B  \  { y } ) 
C_  ( suc  x  \  { y } ) ) )
1816, 17sylbi 195 . . . . . . . . . . . . . . . . . 18  |-  ( -.  y  e.  B  -> 
( B  C_  ( suc  x  \  { y } )  <->  ( B  \  { y } ) 
C_  ( suc  x  \  { y } ) ) )
1913, 18syl5ibr 221 . . . . . . . . . . . . . . . . 17  |-  ( -.  y  e.  B  -> 
( B  C_  suc  x  ->  B  C_  ( suc  x  \  { y } ) ) )
20 vex 3096 . . . . . . . . . . . . . . . . . . . 20  |-  x  e. 
_V
2120sucex 6627 . . . . . . . . . . . . . . . . . . 19  |-  suc  x  e.  _V
22 difss 3613 . . . . . . . . . . . . . . . . . . 19  |-  ( suc  x  \  { y } )  C_  suc  x
2321, 22ssexi 4578 . . . . . . . . . . . . . . . . . 18  |-  ( suc  x  \  { y } )  e.  _V
24 ssdomg 7559 . . . . . . . . . . . . . . . . . 18  |-  ( ( suc  x  \  {
y } )  e. 
_V  ->  ( B  C_  ( suc  x  \  {
y } )  ->  B  ~<_  ( suc  x  \  { y } ) ) )
2523, 24ax-mp 5 . . . . . . . . . . . . . . . . 17  |-  ( B 
C_  ( suc  x  \  { y } )  ->  B  ~<_  ( suc  x  \  { y } ) )
2612, 19, 25syl56 34 . . . . . . . . . . . . . . . 16  |-  ( -.  y  e.  B  -> 
( B  C.  suc  x  ->  B  ~<_  ( suc  x  \  { y } ) ) )
2726imp 429 . . . . . . . . . . . . . . 15  |-  ( ( -.  y  e.  B  /\  B  C.  suc  x
)  ->  B  ~<_  ( suc  x  \  { y } ) )
28 vex 3096 . . . . . . . . . . . . . . . . 17  |-  y  e. 
_V
2920, 28phplem3 7696 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  om  /\  y  e.  suc  x )  ->  x  ~~  ( suc  x  \  { y } ) )
3029ensymd 7564 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  om  /\  y  e.  suc  x )  ->  ( suc  x  \  { y } ) 
~~  x )
31 domentr 7572 . . . . . . . . . . . . . . 15  |-  ( ( B  ~<_  ( suc  x  \  { y } )  /\  ( suc  x  \  { y } ) 
~~  x )  ->  B  ~<_  x )
3227, 30, 31syl2an 477 . . . . . . . . . . . . . 14  |-  ( ( ( -.  y  e.  B  /\  B  C.  suc  x )  /\  (
x  e.  om  /\  y  e.  suc  x ) )  ->  B  ~<_  x )
3332exp43 612 . . . . . . . . . . . . 13  |-  ( -.  y  e.  B  -> 
( B  C.  suc  x  ->  ( x  e.  om  ->  ( y  e.  suc  x  ->  B  ~<_  x ) ) ) )
3433com4r 86 . . . . . . . . . . . 12  |-  ( y  e.  suc  x  -> 
( -.  y  e.  B  ->  ( B  C. 
suc  x  ->  (
x  e.  om  ->  B  ~<_  x ) ) ) )
3534imp 429 . . . . . . . . . . 11  |-  ( ( y  e.  suc  x  /\  -.  y  e.  B
)  ->  ( B  C. 
suc  x  ->  (
x  e.  om  ->  B  ~<_  x ) ) )
3635exlimiv 1707 . . . . . . . . . 10  |-  ( E. y ( y  e. 
suc  x  /\  -.  y  e.  B )  ->  ( B  C.  suc  x  ->  ( x  e.  om  ->  B  ~<_  x ) ) )
3711, 36mpcom 36 . . . . . . . . 9  |-  ( B 
C.  suc  x  ->  ( x  e.  om  ->  B  ~<_  x ) )
38 endomtr 7571 . . . . . . . . . . . 12  |-  ( ( suc  x  ~~  B  /\  B  ~<_  x )  ->  suc  x  ~<_  x )
39 sssucid 4941 . . . . . . . . . . . . 13  |-  x  C_  suc  x
40 ssdomg 7559 . . . . . . . . . . . . 13  |-  ( suc  x  e.  _V  ->  ( x  C_  suc  x  ->  x  ~<_  suc  x )
)
4121, 39, 40mp2 9 . . . . . . . . . . . 12  |-  x  ~<_  suc  x
42 sbth 7635 . . . . . . . . . . . 12  |-  ( ( suc  x  ~<_  x  /\  x  ~<_  suc  x )  ->  suc  x  ~~  x
)
4338, 41, 42sylancl 662 . . . . . . . . . . 11  |-  ( ( suc  x  ~~  B  /\  B  ~<_  x )  ->  suc  x  ~~  x
)
4443expcom 435 . . . . . . . . . 10  |-  ( B  ~<_  x  ->  ( suc  x  ~~  B  ->  suc  x  ~~  x ) )
45 peano2b 6697 . . . . . . . . . . . . 13  |-  ( x  e.  om  <->  suc  x  e. 
om )
46 nnord 6689 . . . . . . . . . . . . 13  |-  ( suc  x  e.  om  ->  Ord 
suc  x )
4745, 46sylbi 195 . . . . . . . . . . . 12  |-  ( x  e.  om  ->  Ord  suc  x )
4820sucid 4943 . . . . . . . . . . . 12  |-  x  e. 
suc  x
49 nordeq 4883 . . . . . . . . . . . 12  |-  ( ( Ord  suc  x  /\  x  e.  suc  x )  ->  suc  x  =/=  x )
5047, 48, 49sylancl 662 . . . . . . . . . . 11  |-  ( x  e.  om  ->  suc  x  =/=  x )
51 nneneq 7698 . . . . . . . . . . . . . 14  |-  ( ( suc  x  e.  om  /\  x  e.  om )  ->  ( suc  x  ~~  x 
<->  suc  x  =  x ) )
5245, 51sylanb 472 . . . . . . . . . . . . 13  |-  ( ( x  e.  om  /\  x  e.  om )  ->  ( suc  x  ~~  x 
<->  suc  x  =  x ) )
5352anidms 645 . . . . . . . . . . . 12  |-  ( x  e.  om  ->  ( suc  x  ~~  x  <->  suc  x  =  x ) )
5453necon3bbid 2688 . . . . . . . . . . 11  |-  ( x  e.  om  ->  ( -.  suc  x  ~~  x  <->  suc  x  =/=  x ) )
5550, 54mpbird 232 . . . . . . . . . 10  |-  ( x  e.  om  ->  -.  suc  x  ~~  x )
5644, 55nsyli 141 . . . . . . . . 9  |-  ( B  ~<_  x  ->  ( x  e.  om  ->  -.  suc  x  ~~  B ) )
5737, 56syli 37 . . . . . . . 8  |-  ( B 
C.  suc  x  ->  ( x  e.  om  ->  -. 
suc  x  ~~  B
) )
5857com12 31 . . . . . . 7  |-  ( x  e.  om  ->  ( B  C.  suc  x  ->  -.  suc  x  ~~  B
) )
59 psseq2 3574 . . . . . . . 8  |-  ( A  =  suc  x  -> 
( B  C.  A  <->  B 
C.  suc  x )
)
60 breq1 4436 . . . . . . . . 9  |-  ( A  =  suc  x  -> 
( A  ~~  B  <->  suc  x  ~~  B ) )
6160notbid 294 . . . . . . . 8  |-  ( A  =  suc  x  -> 
( -.  A  ~~  B 
<->  -.  suc  x  ~~  B ) )
6259, 61imbi12d 320 . . . . . . 7  |-  ( A  =  suc  x  -> 
( ( B  C.  A  ->  -.  A  ~~  B )  <->  ( B  C. 
suc  x  ->  -.  suc  x  ~~  B ) ) )
6358, 62syl5ibrcom 222 . . . . . 6  |-  ( x  e.  om  ->  ( A  =  suc  x  -> 
( B  C.  A  ->  -.  A  ~~  B
) ) )
6463rexlimiv 2927 . . . . 5  |-  ( E. x  e.  om  A  =  suc  x  ->  ( B  C.  A  ->  -.  A  ~~  B ) )
6510, 64syl 16 . . . 4  |-  ( ( A  e.  om  /\  B  C.  A )  -> 
( B  C.  A  ->  -.  A  ~~  B
) )
6665ex 434 . . 3  |-  ( A  e.  om  ->  ( B  C.  A  ->  ( B  C.  A  ->  -.  A  ~~  B ) ) )
6766pm2.43d 48 . 2  |-  ( A  e.  om  ->  ( B  C.  A  ->  -.  A  ~~  B ) )
6867imp 429 1  |-  ( ( A  e.  om  /\  B  C.  A )  ->  -.  A  ~~  B )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1381   E.wex 1597    e. wcel 1802    =/= wne 2636   E.wrex 2792   _Vcvv 3093    \ cdif 3455    i^i cin 3457    C_ wss 3458    C. wpss 3459   (/)c0 3767   {csn 4010   class class class wbr 4433   Ord word 4863   suc csuc 4866   omcom 6681    ~~ cen 7511    ~<_ cdom 7512
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 4554  ax-nul 4562  ax-pow 4611  ax-pr 4672  ax-un 6573
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 973  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-sbc 3312  df-dif 3461  df-un 3463  df-in 3465  df-ss 3472  df-pss 3474  df-nul 3768  df-if 3923  df-pw 3995  df-sn 4011  df-pr 4013  df-tp 4015  df-op 4017  df-uni 4231  df-br 4434  df-opab 4492  df-tr 4527  df-eprel 4777  df-id 4781  df-po 4786  df-so 4787  df-fr 4824  df-we 4826  df-ord 4867  df-on 4868  df-lim 4869  df-suc 4870  df-xp 4991  df-rel 4992  df-cnv 4993  df-co 4994  df-dm 4995  df-rn 4996  df-res 4997  df-ima 4998  df-iota 5537  df-fun 5576  df-fn 5577  df-f 5578  df-f1 5579  df-fo 5580  df-f1o 5581  df-fv 5582  df-om 6682  df-er 7309  df-en 7515  df-dom 7516
This theorem is referenced by:  php2  7700  php3  7701
  Copyright terms: Public domain W3C validator