HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem php 3409
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 3403 through phplem5 3407, nneneq 3408, and this final piece of the proof.
Assertion
Ref Expression
php ((A ∈ ω ∧ BA) → ¬ AB)

Proof of Theorem php
StepHypRef Expression
1 nn0suc 2395 . . . . . . 7 (A ∈ ω → (A = ∅ ∨ ∃x ∈ ω A = suc x))
21orcanai 515 . . . . . 6 ((A ∈ ω ∧ ¬ A = ∅) → ∃x ∈ ω A = suc x)
3 0ss 1725 . . . . . . . 8 ∅ ⊆ B
4 sspsstr 1575 . . . . . . . 8 ((∅ ⊆ BBA) → ∅ ⊂ A)
53, 4mpan 518 . . . . . . 7 (BA → ∅ ⊂ A)
6 0pss 1730 . . . . . . 7 (∅ ⊂ A ↔ ¬ A = ∅)
75, 6sylib 173 . . . . . 6 (BA → ¬ A = ∅)
82, 7sylan2 346 . . . . 5 ((A ∈ ω ∧ BA) → ∃x ∈ ω A = suc x)
9 psseq2 1560 . . . . . . . . 9 (A = suc x → (BAB ⊂ suc x))
10 breq1 2065 . . . . . . . . . 10 (A = suc x → (AB ↔ suc xB))
1110negbid 463 . . . . . . . . 9 (A = suc x → (¬ AB ↔ ¬ suc xB))
129, 11imbi12d 474 . . . . . . . 8 (A = suc x → ((BA → ¬ AB) ↔ (B ⊂ suc x → ¬ suc xB)))
13 pssnel 1752 . . . . . . . . . . 11 (B ⊂ suc x → ∃y(y ∈ suc x ∧ ¬ yB))
14 domentr 3326 . . . . . . . . . . . . . . . 16 ((B ≼ (suc x ∖ {y}) ∧ (suc x ∖ {y}) ≈ x) → Bx)
15 disjsn 1836 . . . . . . . . . . . . . . . . . . . . . 22 ((B ∩ {y}) = ∅ ↔ ¬ yB)
16 disj3 1736 . . . . . . . . . . . . . . . . . . . . . 22 ((B ∩ {y}) = ∅ ↔ B = (B ∖ {y}))
1715, 16bitr3 153 . . . . . . . . . . . . . . . . . . . . 21 yBB = (B ∖ {y}))
18 sseq1 1521 . . . . . . . . . . . . . . . . . . . . 21 (B = (B ∖ {y}) → (B ⊆ (suc x ∖ {y}) ↔ (B ∖ {y}) ⊆ (suc x ∖ {y})))
1917, 18sylbi 174 . . . . . . . . . . . . . . . . . . . 20 yB → (B ⊆ (suc x ∖ {y}) ↔ (B ∖ {y}) ⊆ (suc x ∖ {y})))
20 ssdif 1600 . . . . . . . . . . . . . . . . . . . 20 (B ⊆ suc x → (B ∖ {y}) ⊆ (suc x ∖ {y}))
2119, 20syl5bir 184 . . . . . . . . . . . . . . . . . . 19 yB → (B ⊆ suc xB ⊆ (suc x ∖ {y})))
22 visset 1350 . . . . . . . . . . . . . . . . . . . . . 22 xV
2322sucex 2303 . . . . . . . . . . . . . . . . . . . . 21 suc xV
24 difss 1596 . . . . . . . . . . . . . . . . . . . . 21 (suc x ∖ {y}) ⊆ suc x
2523, 24ssexi 1701 . . . . . . . . . . . . . . . . . . . 20 (suc x ∖ {y}) ∈ V
26 ssdom2g 3312 . . . . . . . . . . . . . . . . . . . 20 ((suc x ∖ {y}) ∈ V → (B ⊆ (suc x ∖ {y}) → B ≼ (suc x ∖ {y})))
2725, 26ax-mp 6 . . . . . . . . . . . . . . . . . . 19 (B ⊆ (suc x ∖ {y}) → B ≼ (suc x ∖ {y}))
2821, 27syl6 23 . . . . . . . . . . . . . . . . . 18 yB → (B ⊆ suc xB ≼ (suc x ∖ {y})))
29 pssss 1567 . . . . . . . . . . . . . . . . . 18 (B ⊂ suc xB ⊆ suc x)
3028, 29syl5 22 . . . . . . . . . . . . . . . . 17 yB → (B ⊂ suc xB ≼ (suc x ∖ {y})))
3130imp 277 . . . . . . . . . . . . . . . 16 ((¬ yBB ⊂ suc x) → B ≼ (suc x ∖ {y}))
32 visset 1350 . . . . . . . . . . . . . . . . . 18 yV
3322, 32phplem4 3406 . . . . . . . . . . . . . . . . 17 ((x ∈ ω ∧ y ∈ suc x) → x ≈ (suc x ∖ {y}))
3425ensym 3317 . . . . . . . . . . . . . . . . 17 (x ≈ (suc x ∖ {y}) → (suc x ∖ {y}) ≈ x)
3533, 34syl 12 . . . . . . . . . . . . . . . 16 ((x ∈ ω ∧ y ∈ suc x) → (suc x ∖ {y}) ≈ x)
3614, 31, 35syl2an 349 . . . . . . . . . . . . . . 15 (((¬ yBB ⊂ suc x) ∧ (x ∈ ω ∧ y ∈ suc x)) → Bx)
3736exp43 301 . . . . . . . . . . . . . 14 yB → (B ⊂ suc x → (x ∈ ω → (y ∈ suc xBx))))
3837com4r 41 . . . . . . . . . . . . 13 (y ∈ suc x → (¬ yB → (B ⊂ suc x → (x ∈ ω → Bx))))
3938imp 277 . . . . . . . . . . . 12 ((y ∈ suc x ∧ ¬ yB) → (B ⊂ suc x → (x ∈ ω → Bx)))
403919.23aiv 952 . . . . . . . . . . 11 (∃y(y ∈ suc x ∧ ¬ yB) → (B ⊂ suc x → (x ∈ ω → Bx)))
4113, 40mpcom 49 . . . . . . . . . 10 (B ⊂ suc x → (x ∈ ω → Bx))
42 endomtr 3325 . . . . . . . . . . . . . . 15 ((suc xBBx) → suc xx)
43 sssucid 2300 . . . . . . . . . . . . . . . 16 x ⊆ suc x
44 ssdom2g 3312 . . . . . . . . . . . . . . . 16 (suc xV → (x ⊆ suc xx ≼ suc x))
4523, 43, 44mp2 43 . . . . . . . . . . . . . . 15 x ≼ suc x
4642, 45jctir 241 . . . . . . . . . . . . . 14 ((suc xBBx) → (suc xxx ≼ suc x))
47 sbth 3359 . . . . . . . . . . . . . 14 ((suc xxx ≼ suc x) → suc xx)
4846, 47syl 12 . . . . . . . . . . . . 13 ((suc xBBx) → suc xx)
4948exp 291 . . . . . . . . . . . 12 (suc xB → (Bx → suc xx))
5049com12 13 . . . . . . . . . . 11 (Bx → (suc xB → suc xx))
51 peano2b 2388 . . . . . . . . . . . . . 14 (x ∈ ω ↔ suc x ∈ ω)
52 nnord 2381 . . . . . . . . . . . . . 14 (suc x ∈ ω → Ord suc x)
5351, 52sylbi 174 . . . . . . . . . . . . 13 (x ∈ ω → Ord suc x)
5422sucid 2304 . . . . . . . . . . . . . 14 x ∈ suc x
55 nordeq 2218 . . . . . . . . . . . . . 14 ((Ord suc xx ∈ suc x) → ¬ suc x = x)
5654, 55mpan2 519 . . . . . . . . . . . . 13 (Ord suc x → ¬ suc x = x)
5753, 56syl 12 . . . . . . . . . . . 12 (x ∈ ω → ¬ suc x = x)
58 nneneq 3408 . . . . . . . . . . . . . 14 ((suc x ∈ ω ∧ x ∈ ω) → (suc xx ↔ suc x = x))
5958, 51sylanb 344 . . . . . . . . . . . . 13 ((x ∈ ω ∧ x ∈ ω) → (suc xx ↔ suc x = x))
6059anidms 332 . . . . . . . . . . . 12 (x ∈ ω → (suc xx ↔ suc x = x))
6157, 60mtbird 537 . . . . . . . . . . 11 (x ∈ ω → ¬ suc xx)
6250, 61nsyli 106 . . . . . . . . . 10 (Bx → (x ∈ ω → ¬ suc xB))
6341, 62syli 52 . . . . . . . . 9 (B ⊂ suc x → (x ∈ ω → ¬ suc xB))
6463com12 13 . . . . . . . 8 (x ∈ ω → (B ⊂ suc x → ¬ suc xB))
6512, 64syl5bir 184 . . . . . . 7 (A = suc x → (x ∈ ω → (BA → ¬ AB)))
6665com12 13 . . . . . 6 (x ∈ ω → (A = suc x → (BA → ¬ AB)))
6766r19.23aiv 1284 . . . . 5 (∃x ∈ ω A = suc x → (BA → ¬ AB))
688, 67syl 12 . . . 4 ((A ∈ ω ∧ BA) → (BA → ¬ AB))
6968exp 291 . . 3 (A ∈ ω → (BA → (BA → ¬ AB)))
7069pm2.43d 59 . 2 (A ∈ ω → (BA → ¬ AB))
7170imp 277 1 ((A ∈ ω ∧ BA) → ¬ AB)
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   → wi 2   ↔ wb 127   ∧ wa 196  ∃wex 678   = wceq 1091   ∈ wcel 1092  ∃wrex 1202  Vcvv 1348   ∖ cdif 1484   ∩ cin 1486   ⊆ wss 1487   ⊂ wpss 1488  ∅c0 1707  {csn 1808   class class class wbr 2054  Ord word 2198  suc csuc 2201  ωcom 2372   ≈ cen 3271   ≼ cdom 3272
This theorem is referenced by:  php2 3410  php3 3411
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3or 582  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ne 1192  df-ral 1205  df-rex 1206  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-pss 1494  df-nul 1708  df-if 1777  df-pw 1799  df-sn 1811  df-pr 1812  df-tp 1814  df-op 1815  df-uni 1920  df-tr 2042  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-po 2128  df-so 2138  df-fr 2169  df-we 2186  df-ord 2202  df-on 2203  df-lim 2204  df-suc 2205  df-om 2373  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-f 2434  df-f1 2435  df-fo 2436  df-f1o 2437  df-fv 2438  df-er 3200  df-en 3274  df-dom 3275
metamath.org