ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  phpm Unicode version

Theorem phpm 6727
Description: Pigeonhole Principle. A natural number is not equinumerous to a proper subset of itself. By "proper subset" here we mean that there is an element which is in the natural number and not in the subset, or in symbols  E. x x  e.  ( A  \  B
) (which is stronger than not being equal in the absence of excluded middle). 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 6714 through phplem4 6717, nneneq 6719, and this final piece of the proof. (Contributed by NM, 29-May-1998.)
Assertion
Ref Expression
phpm  |-  ( ( A  e.  om  /\  B  C_  A  /\  E. x  x  e.  ( A  \  B ) )  ->  -.  A  ~~  B )
Distinct variable groups:    x, A    x, B

Proof of Theorem phpm
Dummy variable  y is distinct from all other variables.
StepHypRef Expression
1 simpr 109 . . . . . 6  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  A  =  (/) )
2 eldifi 3168 . . . . . . . . 9  |-  ( x  e.  ( A  \  B )  ->  x  e.  A )
3 ne0i 3339 . . . . . . . . 9  |-  ( x  e.  A  ->  A  =/=  (/) )
42, 3syl 14 . . . . . . . 8  |-  ( x  e.  ( A  \  B )  ->  A  =/=  (/) )
54neneqd 2306 . . . . . . 7  |-  ( x  e.  ( A  \  B )  ->  -.  A  =  (/) )
65ad2antlr 480 . . . . . 6  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  -.  A  =  (/) )
71, 6pm2.21dd 594 . . . . 5  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  -.  A  ~~  B )
8 php5dom 6725 . . . . . . . . . 10  |-  ( y  e.  om  ->  -.  suc  y  ~<_  y )
98ad2antlr 480 . . . . . . . . 9  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  suc  y  ~<_  y )
10 simplr 504 . . . . . . . . . 10  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  =  suc  y )
11 simpr 109 . . . . . . . . . . 11  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  ~~  B )
12 vex 2663 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1312sucex 4385 . . . . . . . . . . . . . . 15  |-  suc  y  e.  _V
14 difss 3172 . . . . . . . . . . . . . . 15  |-  ( suc  y  \  { x } )  C_  suc  y
1513, 14ssexi 4036 . . . . . . . . . . . . . 14  |-  ( suc  y  \  { x } )  e.  _V
16 eldifn 3169 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( A  \  B )  ->  -.  x  e.  B )
1716ad3antlr 484 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  x  e.  B
)
18 simpllr 508 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  y  e. 
om )  ->  B  C_  A )
1918adantr 274 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  A )
20 simpr 109 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  A  =  suc  y )
2119, 20sseqtrd 3105 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  suc  y )
22 ssdif 3181 . . . . . . . . . . . . . . . 16  |-  ( B 
C_  suc  y  ->  ( B  \  { x } )  C_  ( suc  y  \  { x } ) )
23 disjsn 3555 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  -.  x  e.  B )
24 disj3 3385 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  B  =  ( B  \  { x } ) )
2523, 24bitr3i 185 . . . . . . . . . . . . . . . . 17  |-  ( -.  x  e.  B  <->  B  =  ( B  \  { x } ) )
26 sseq1 3090 . . . . . . . . . . . . . . . . 17  |-  ( B  =  ( B  \  { x } )  ->  ( B  C_  ( suc  y  \  {
x } )  <->  ( B  \  { x } ) 
C_  ( suc  y  \  { x } ) ) )
2725, 26sylbi 120 . . . . . . . . . . . . . . . 16  |-  ( -.  x  e.  B  -> 
( B  C_  ( suc  y  \  { x } )  <->  ( B  \  { x } ) 
C_  ( suc  y  \  { x } ) ) )
2822, 27syl5ibr 155 . . . . . . . . . . . . . . 15  |-  ( -.  x  e.  B  -> 
( B  C_  suc  y  ->  B  C_  ( suc  y  \  { x } ) ) )
2917, 21, 28sylc 62 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  ( suc  y  \  { x } ) )
30 ssdomg 6640 . . . . . . . . . . . . . 14  |-  ( ( suc  y  \  {
x } )  e. 
_V  ->  ( B  C_  ( suc  y  \  {
x } )  ->  B  ~<_  ( suc  y  \  { x } ) ) )
3115, 29, 30mpsyl 65 . . . . . . . . . . . . 13  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  ~<_  ( suc  y  \  { x } ) )
32 simplr 504 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  -> 
y  e.  om )
332ad3antlr 484 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  x  e.  A )
3433, 20eleqtrd 2196 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  x  e.  suc  y )
35 phplem3g 6718 . . . . . . . . . . . . . . 15  |-  ( ( y  e.  om  /\  x  e.  suc  y )  ->  y  ~~  ( suc  y  \  { x } ) )
3635ensymd 6645 . . . . . . . . . . . . . 14  |-  ( ( y  e.  om  /\  x  e.  suc  y )  ->  ( suc  y  \  { x } ) 
~~  y )
3732, 34, 36syl2anc 408 . . . . . . . . . . . . 13  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  -> 
( suc  y  \  { x } ) 
~~  y )
38 domentr 6653 . . . . . . . . . . . . 13  |-  ( ( B  ~<_  ( suc  y  \  { x } )  /\  ( suc  y  \  { x } ) 
~~  y )  ->  B  ~<_  y )
3931, 37, 38syl2anc 408 . . . . . . . . . . . 12  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  ~<_  y )
4039adantr 274 . . . . . . . . . . 11  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  B  ~<_  y )
41 endomtr 6652 . . . . . . . . . . 11  |-  ( ( A  ~~  B  /\  B  ~<_  y )  ->  A  ~<_  y )
4211, 40, 41syl2anc 408 . . . . . . . . . 10  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  ~<_  y )
4310, 42eqbrtrrd 3922 . . . . . . . . 9  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  suc  y  ~<_  y )
449, 43mtand 639 . . . . . . . 8  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  A  ~~  B )
4544ex 114 . . . . . . 7  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  y  e. 
om )  ->  ( A  =  suc  y  ->  -.  A  ~~  B ) )
4645rexlimdva 2526 . . . . . 6  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  ( E. y  e.  om  A  =  suc  y  ->  -.  A  ~~  B ) )
4746imp 123 . . . . 5  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  E. y  e.  om  A  =  suc  y )  ->  -.  A  ~~  B )
48 nn0suc 4488 . . . . . 6  |-  ( A  e.  om  ->  ( A  =  (/)  \/  E. y  e.  om  A  =  suc  y ) )
4948ad2antrr 479 . . . . 5  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  ( A  =  (/)  \/  E. y  e. 
om  A  =  suc  y ) )
507, 47, 49mpjaodan 772 . . . 4  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  -.  A  ~~  B )
5150ex 114 . . 3  |-  ( ( A  e.  om  /\  B  C_  A )  -> 
( x  e.  ( A  \  B )  ->  -.  A  ~~  B ) )
5251exlimdv 1775 . 2  |-  ( ( A  e.  om  /\  B  C_  A )  -> 
( E. x  x  e.  ( A  \  B )  ->  -.  A  ~~  B ) )
53523impia 1163 1  |-  ( ( A  e.  om  /\  B  C_  A  /\  E. x  x  e.  ( A  \  B ) )  ->  -.  A  ~~  B )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 103    <-> wb 104    \/ wo 682    /\ w3a 947    = wceq 1316   E.wex 1453    e. wcel 1465    =/= wne 2285   E.wrex 2394   _Vcvv 2660    \ cdif 3038    i^i cin 3040    C_ wss 3041   (/)c0 3333   {csn 3497   class class class wbr 3899   suc csuc 4257   omcom 4474    ~~ cen 6600    ~<_ cdom 6601
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 588  ax-in2 589  ax-io 683  ax-5 1408  ax-7 1409  ax-gen 1410  ax-ie1 1454  ax-ie2 1455  ax-8 1467  ax-10 1468  ax-11 1469  ax-i12 1470  ax-bndl 1471  ax-4 1472  ax-13 1476  ax-14 1477  ax-17 1491  ax-i9 1495  ax-ial 1499  ax-i5r 1500  ax-ext 2099  ax-sep 4016  ax-nul 4024  ax-pow 4068  ax-pr 4101  ax-un 4325  ax-setind 4422  ax-iinf 4472
This theorem depends on definitions:  df-bi 116  df-dc 805  df-3or 948  df-3an 949  df-tru 1319  df-fal 1322  df-nf 1422  df-sb 1721  df-eu 1980  df-mo 1981  df-clab 2104  df-cleq 2110  df-clel 2113  df-nfc 2247  df-ne 2286  df-ral 2398  df-rex 2399  df-rab 2402  df-v 2662  df-sbc 2883  df-dif 3043  df-un 3045  df-in 3047  df-ss 3054  df-nul 3334  df-pw 3482  df-sn 3503  df-pr 3504  df-op 3506  df-uni 3707  df-int 3742  df-br 3900  df-opab 3960  df-tr 3997  df-id 4185  df-iord 4258  df-on 4260  df-suc 4263  df-iom 4475  df-xp 4515  df-rel 4516  df-cnv 4517  df-co 4518  df-dm 4519  df-rn 4520  df-res 4521  df-ima 4522  df-iota 5058  df-fun 5095  df-fn 5096  df-f 5097  df-f1 5098  df-fo 5099  df-f1o 5100  df-fv 5101  df-er 6397  df-en 6603  df-dom 6604
This theorem is referenced by:  phpelm  6728
  Copyright terms: Public domain W3C validator