Metamath Proof Explorer


Theorem php

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 putn + 1 pigeons inton holes (if each hole holds only one pigeon). The proof consists of phplem1 , phplem2 , nneneq , and this final piece of the proof. (Contributed by NM, 29-May-1998) Avoid ax-pow . (Revised by BTernaryTau, 18-Nov-2024)

Ref Expression
Assertion php AωBA¬AB

Proof

Step Hyp Ref Expression
1 0ss B
2 sspsstr BBAA
3 1 2 mpan BAA
4 0pss AA
5 df-ne A¬A=
6 4 5 bitri A¬A=
7 3 6 sylib BA¬A=
8 nn0suc AωA=xωA=sucx
9 8 orcanai Aω¬A=xωA=sucx
10 7 9 sylan2 AωBAxωA=sucx
11 pssnel Bsucxyysucx¬yB
12 pssss BsucxBsucx
13 ssdif BsucxBysucxy
14 disjsn By=¬yB
15 disj3 By=B=By
16 14 15 bitr3i ¬yBB=By
17 sseq1 B=ByBsucxyBysucxy
18 16 17 sylbi ¬yBBsucxyBysucxy
19 13 18 imbitrrid ¬yBBsucxBsucxy
20 12 19 syl5 ¬yBBsucxBsucxy
21 peano2 xωsucxω
22 nnfi sucxωsucxFin
23 diffi sucxFinsucxyFin
24 ssdomfi sucxyFinBsucxyBsucxy
25 21 22 23 24 4syl xωBsucxyBsucxy
26 20 25 sylan9 ¬yBxωBsucxBsucxy
27 26 3impia ¬yBxωBsucxBsucxy
28 27 3com23 ¬yBBsucxxωBsucxy
29 28 3expa ¬yBBsucxxωBsucxy
30 29 adantrr ¬yBBsucxxωysucxBsucxy
31 nnfi xωxFin
32 31 ad2antrl BsucxyxωysucxxFin
33 simpl BsucxyxωysucxBsucxy
34 simpr Bsucxyxωysucxxωysucx
35 phplem1 xωysucxxsucxy
36 ensymfib xFinxsucxysucxyx
37 31 36 syl xωxsucxysucxyx
38 37 adantr xωysucxxsucxysucxyx
39 35 38 mpbid xωysucxsucxyx
40 endom sucxyxsucxyx
41 39 40 syl xωysucxsucxyx
42 domtrfir xFinBsucxysucxyxBx
43 41 42 syl3an3 xFinBsucxyxωysucxBx
44 32 33 34 43 syl3anc BsucxyxωysucxBx
45 30 44 sylancom ¬yBBsucxxωysucxBx
46 45 exp43 ¬yBBsucxxωysucxBx
47 46 com4r ysucx¬yBBsucxxωBx
48 47 imp ysucx¬yBBsucxxωBx
49 48 exlimiv yysucx¬yBBsucxxωBx
50 11 49 mpcom BsucxxωBx
51 simp1 xωsucxBBxxω
52 endom sucxBsucxB
53 domtrfir xFinsucxBBxsucxx
54 52 53 syl3an2 xFinsucxBBxsucxx
55 31 54 syl3an1 xωsucxBBxsucxx
56 sssucid xsucx
57 ssdomfi sucxFinxsucxxsucx
58 22 56 57 mpisyl sucxωxsucx
59 21 58 syl xωxsucx
60 59 adantr xωsucxxxsucx
61 sbthfi xFinsucxxxsucxsucxx
62 31 61 syl3an1 xωsucxxxsucxsucxx
63 60 62 mpd3an3 xωsucxxsucxx
64 51 55 63 syl2anc xωsucxBBxsucxx
65 64 3com23 xωBxsucxBsucxx
66 65 3expia xωBxsucxBsucxx
67 peano2b xωsucxω
68 nnord sucxωOrdsucx
69 67 68 sylbi xωOrdsucx
70 vex xV
71 70 sucid xsucx
72 nordeq Ordsucxxsucxsucxx
73 69 71 72 sylancl xωsucxx
74 nneneq sucxωxωsucxxsucx=x
75 67 74 sylanb xωxωsucxxsucx=x
76 75 anidms xωsucxxsucx=x
77 76 necon3bbid xω¬sucxxsucxx
78 73 77 mpbird xω¬sucxx
79 66 78 nsyli xωBxxω¬sucxB
80 79 expcom Bxxωxω¬sucxB
81 80 pm2.43d Bxxω¬sucxB
82 50 81 syli Bsucxxω¬sucxB
83 82 com12 xωBsucx¬sucxB
84 psseq2 A=sucxBABsucx
85 breq1 A=sucxABsucxB
86 85 notbid A=sucx¬AB¬sucxB
87 84 86 imbi12d A=sucxBA¬ABBsucx¬sucxB
88 83 87 syl5ibrcom xωA=sucxBA¬AB
89 88 rexlimiv xωA=sucxBA¬AB
90 10 89 syl AωBABA¬AB
91 90 syldbl2 AωBA¬AB