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

Theorem phpm 7095
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 7081 through phplem4 7084, nneneq 7086, 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 110 . . . . . 6  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  A  =  (/) )
2 eldifi 3331 . . . . . . . . 9  |-  ( x  e.  ( A  \  B )  ->  x  e.  A )
3 ne0i 3503 . . . . . . . . 9  |-  ( x  e.  A  ->  A  =/=  (/) )
42, 3syl 14 . . . . . . . 8  |-  ( x  e.  ( A  \  B )  ->  A  =/=  (/) )
54neneqd 2424 . . . . . . 7  |-  ( x  e.  ( A  \  B )  ->  -.  A  =  (/) )
65ad2antlr 489 . . . . . 6  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  -.  A  =  (/) )
71, 6pm2.21dd 625 . . . . 5  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  A  =  (/) )  ->  -.  A  ~~  B )
8 php5dom 7092 . . . . . . . . . 10  |-  ( y  e.  om  ->  -.  suc  y  ~<_  y )
98ad2antlr 489 . . . . . . . . 9  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  suc  y  ~<_  y )
10 simplr 529 . . . . . . . . . 10  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  =  suc  y )
11 simpr 110 . . . . . . . . . . 11  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  ~~  B )
12 vex 2806 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1312sucex 4603 . . . . . . . . . . . . . . 15  |-  suc  y  e.  _V
14 difss 3335 . . . . . . . . . . . . . . 15  |-  ( suc  y  \  { x } )  C_  suc  y
1513, 14ssexi 4232 . . . . . . . . . . . . . 14  |-  ( suc  y  \  { x } )  e.  _V
16 eldifn 3332 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( A  \  B )  ->  -.  x  e.  B )
1716ad3antlr 493 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  x  e.  B
)
18 simpllr 536 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  y  e. 
om )  ->  B  C_  A )
1918adantr 276 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  A )
20 simpr 110 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  A  =  suc  y )
2119, 20sseqtrd 3266 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  suc  y )
22 ssdif 3344 . . . . . . . . . . . . . . . 16  |-  ( B 
C_  suc  y  ->  ( B  \  { x } )  C_  ( suc  y  \  { x } ) )
23 disjsn 3735 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  -.  x  e.  B )
24 disj3 3549 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  B  =  ( B  \  { x } ) )
2523, 24bitr3i 186 . . . . . . . . . . . . . . . . 17  |-  ( -.  x  e.  B  <->  B  =  ( B  \  { x } ) )
26 sseq1 3251 . . . . . . . . . . . . . . . . 17  |-  ( B  =  ( B  \  { x } )  ->  ( B  C_  ( suc  y  \  {
x } )  <->  ( B  \  { x } ) 
C_  ( suc  y  \  { x } ) ) )
2725, 26sylbi 121 . . . . . . . . . . . . . . . 16  |-  ( -.  x  e.  B  -> 
( B  C_  ( suc  y  \  { x } )  <->  ( B  \  { x } ) 
C_  ( suc  y  \  { x } ) ) )
2822, 27imbitrrid 156 . . . . . . . . . . . . . . 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 6995 . . . . . . . . . . . . . 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 529 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  -> 
y  e.  om )
332ad3antlr 493 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  x  e.  A )
3433, 20eleqtrd 2310 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  x  e.  suc  y )
35 phplem3g 7085 . . . . . . . . . . . . . . 15  |-  ( ( y  e.  om  /\  x  e.  suc  y )  ->  y  ~~  ( suc  y  \  { x } ) )
3635ensymd 7000 . . . . . . . . . . . . . 14  |-  ( ( y  e.  om  /\  x  e.  suc  y )  ->  ( suc  y  \  { x } ) 
~~  y )
3732, 34, 36syl2anc 411 . . . . . . . . . . . . 13  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  -> 
( suc  y  \  { x } ) 
~~  y )
38 domentr 7008 . . . . . . . . . . . . 13  |-  ( ( B  ~<_  ( suc  y  \  { x } )  /\  ( suc  y  \  { x } ) 
~~  y )  ->  B  ~<_  y )
3931, 37, 38syl2anc 411 . . . . . . . . . . . 12  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  ~<_  y )
4039adantr 276 . . . . . . . . . . 11  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  B  ~<_  y )
41 endomtr 7007 . . . . . . . . . . 11  |-  ( ( A  ~~  B  /\  B  ~<_  y )  ->  A  ~<_  y )
4211, 40, 41syl2anc 411 . . . . . . . . . 10  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  A  ~<_  y )
4310, 42eqbrtrrd 4117 . . . . . . . . 9  |-  ( ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  /\  y  e.  om )  /\  A  =  suc  y )  /\  A  ~~  B )  ->  suc  y  ~<_  y )
449, 43mtand 671 . . . . . . . 8  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  -.  A  ~~  B )
4544ex 115 . . . . . . 7  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  y  e. 
om )  ->  ( A  =  suc  y  ->  -.  A  ~~  B ) )
4645rexlimdva 2651 . . . . . 6  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  ( E. y  e.  om  A  =  suc  y  ->  -.  A  ~~  B ) )
4746imp 124 . . . . 5  |-  ( ( ( ( A  e. 
om  /\  B  C_  A
)  /\  x  e.  ( A  \  B ) )  /\  E. y  e.  om  A  =  suc  y )  ->  -.  A  ~~  B )
48 nn0suc 4708 . . . . . 6  |-  ( A  e.  om  ->  ( A  =  (/)  \/  E. y  e.  om  A  =  suc  y ) )
4948ad2antrr 488 . . . . 5  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  ( A  =  (/)  \/  E. y  e. 
om  A  =  suc  y ) )
507, 47, 49mpjaodan 806 . . . 4  |-  ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B ) )  ->  -.  A  ~~  B )
5150ex 115 . . 3  |-  ( ( A  e.  om  /\  B  C_  A )  -> 
( x  e.  ( A  \  B )  ->  -.  A  ~~  B ) )
5251exlimdv 1867 . 2  |-  ( ( A  e.  om  /\  B  C_  A )  -> 
( E. x  x  e.  ( A  \  B )  ->  -.  A  ~~  B ) )
53523impia 1227 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 104    <-> wb 105    \/ wo 716    /\ w3a 1005    = wceq 1398   E.wex 1541    e. wcel 2202    =/= wne 2403   E.wrex 2512   _Vcvv 2803    \ cdif 3198    i^i cin 3200    C_ wss 3201   (/)c0 3496   {csn 3673   class class class wbr 4093   suc csuc 4468   omcom 4694    ~~ cen 6950    ~<_ cdom 6951
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2204  ax-14 2205  ax-ext 2213  ax-sep 4212  ax-nul 4220  ax-pow 4270  ax-pr 4305  ax-un 4536  ax-setind 4641  ax-iinf 4692
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2364  df-ne 2404  df-ral 2516  df-rex 2517  df-rab 2520  df-v 2805  df-sbc 3033  df-dif 3203  df-un 3205  df-in 3207  df-ss 3214  df-nul 3497  df-pw 3658  df-sn 3679  df-pr 3680  df-op 3682  df-uni 3899  df-int 3934  df-br 4094  df-opab 4156  df-tr 4193  df-id 4396  df-iord 4469  df-on 4471  df-suc 4474  df-iom 4695  df-xp 4737  df-rel 4738  df-cnv 4739  df-co 4740  df-dm 4741  df-rn 4742  df-res 4743  df-ima 4744  df-iota 5293  df-fun 5335  df-fn 5336  df-f 5337  df-f1 5338  df-fo 5339  df-f1o 5340  df-fv 5341  df-er 6745  df-en 6953  df-dom 6954
This theorem is referenced by:  phpelm  7096
  Copyright terms: Public domain W3C validator