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

Theorem phpm 7051
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 7037 through phplem4 7040, nneneq 7042, 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 3329 . . . . . . . . 9  |-  ( x  e.  ( A  \  B )  ->  x  e.  A )
3 ne0i 3501 . . . . . . . . 9  |-  ( x  e.  A  ->  A  =/=  (/) )
42, 3syl 14 . . . . . . . 8  |-  ( x  e.  ( A  \  B )  ->  A  =/=  (/) )
54neneqd 2423 . . . . . . 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 7048 . . . . . . . . . 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 2805 . . . . . . . . . . . . . . . 16  |-  y  e. 
_V
1312sucex 4597 . . . . . . . . . . . . . . 15  |-  suc  y  e.  _V
14 difss 3333 . . . . . . . . . . . . . . 15  |-  ( suc  y  \  { x } )  C_  suc  y
1513, 14ssexi 4227 . . . . . . . . . . . . . 14  |-  ( suc  y  \  { x } )  e.  _V
16 eldifn 3330 . . . . . . . . . . . . . . . 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 3265 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ( A  e.  om  /\  B  C_  A )  /\  x  e.  ( A  \  B
) )  /\  y  e.  om )  /\  A  =  suc  y )  ->  B  C_  suc  y )
22 ssdif 3342 . . . . . . . . . . . . . . . 16  |-  ( B 
C_  suc  y  ->  ( B  \  { x } )  C_  ( suc  y  \  { x } ) )
23 disjsn 3731 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  -.  x  e.  B )
24 disj3 3547 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  i^i  { x } )  =  (/)  <->  B  =  ( B  \  { x } ) )
2523, 24bitr3i 186 . . . . . . . . . . . . . . . . 17  |-  ( -.  x  e.  B  <->  B  =  ( B  \  { x } ) )
26 sseq1 3250 . . . . . . . . . . . . . . . . 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 6951 . . . . . . . . . . . . . 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 7041 . . . . . . . . . . . . . . 15  |-  ( ( y  e.  om  /\  x  e.  suc  y )  ->  y  ~~  ( suc  y  \  { x } ) )
3635ensymd 6956 . . . . . . . . . . . . . 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 6964 . . . . . . . . . . . . 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 6963 . . . . . . . . . . 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 4112 . . . . . . . . 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 2650 . . . . . 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 4702 . . . . . 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 805 . . . 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 1226 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 715    /\ w3a 1004    = wceq 1397   E.wex 1540    e. wcel 2202    =/= wne 2402   E.wrex 2511   _Vcvv 2802    \ cdif 3197    i^i cin 3199    C_ wss 3200   (/)c0 3494   {csn 3669   class class class wbr 4088   suc csuc 4462   omcom 4688    ~~ cen 6906    ~<_ cdom 6907
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 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-iinf 4686
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-ral 2515  df-rex 2516  df-rab 2519  df-v 2804  df-sbc 3032  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-int 3929  df-br 4089  df-opab 4151  df-tr 4188  df-id 4390  df-iord 4463  df-on 4465  df-suc 4468  df-iom 4689  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-f1 5331  df-fo 5332  df-f1o 5333  df-fv 5334  df-er 6701  df-en 6909  df-dom 6910
This theorem is referenced by:  phpelm  7052
  Copyright terms: Public domain W3C validator