MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  php3 Structured version   Visualization version   GIF version

Theorem php3 9118
Description: Corollary of Pigeonhole Principle. If 𝐴 is finite and 𝐵 is a proper subset of 𝐴, the 𝐵 is strictly less numerous than 𝐴. Stronger version of Corollary 6C of [Enderton] p. 135. (Contributed by NM, 22-Aug-2008.) Avoid ax-pow 5301. (Revised by BTernaryTau, 26-Nov-2024.)
Assertion
Ref Expression
php3 ((𝐴 ∈ Fin ∧ 𝐵𝐴) → 𝐵𝐴)

Proof of Theorem php3
Dummy variables 𝑓 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 isfi 8898 . . 3 (𝐴 ∈ Fin ↔ ∃𝑥 ∈ ω 𝐴𝑥)
2 bren 8879 . . . . . 6 (𝐴𝑥 ↔ ∃𝑓 𝑓:𝐴1-1-onto𝑥)
3 pssss 4045 . . . . . . . . . . . . . 14 (𝐵𝐴𝐵𝐴)
4 imass2 6050 . . . . . . . . . . . . . 14 (𝐵𝐴 → (𝑓𝐵) ⊆ (𝑓𝐴))
53, 4syl 17 . . . . . . . . . . . . 13 (𝐵𝐴 → (𝑓𝐵) ⊆ (𝑓𝐴))
65adantl 481 . . . . . . . . . . . 12 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → (𝑓𝐵) ⊆ (𝑓𝐴))
7 pssnel 4418 . . . . . . . . . . . . . 14 (𝐵𝐴 → ∃𝑦(𝑦𝐴 ∧ ¬ 𝑦𝐵))
8 eldif 3907 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (𝐴𝐵) ↔ (𝑦𝐴 ∧ ¬ 𝑦𝐵))
9 f1ofn 6764 . . . . . . . . . . . . . . . . . . . 20 (𝑓:𝐴1-1-onto𝑥𝑓 Fn 𝐴)
10 difss 4083 . . . . . . . . . . . . . . . . . . . 20 (𝐴𝐵) ⊆ 𝐴
11 fnfvima 7167 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 Fn 𝐴 ∧ (𝐴𝐵) ⊆ 𝐴𝑦 ∈ (𝐴𝐵)) → (𝑓𝑦) ∈ (𝑓 “ (𝐴𝐵)))
12113expia 1121 . . . . . . . . . . . . . . . . . . . 20 ((𝑓 Fn 𝐴 ∧ (𝐴𝐵) ⊆ 𝐴) → (𝑦 ∈ (𝐴𝐵) → (𝑓𝑦) ∈ (𝑓 “ (𝐴𝐵))))
139, 10, 12sylancl 586 . . . . . . . . . . . . . . . . . . 19 (𝑓:𝐴1-1-onto𝑥 → (𝑦 ∈ (𝐴𝐵) → (𝑓𝑦) ∈ (𝑓 “ (𝐴𝐵))))
14 dff1o3 6769 . . . . . . . . . . . . . . . . . . . . 21 (𝑓:𝐴1-1-onto𝑥 ↔ (𝑓:𝐴onto𝑥 ∧ Fun 𝑓))
15 imadif 6565 . . . . . . . . . . . . . . . . . . . . 21 (Fun 𝑓 → (𝑓 “ (𝐴𝐵)) = ((𝑓𝐴) ∖ (𝑓𝐵)))
1614, 15simplbiim 504 . . . . . . . . . . . . . . . . . . . 20 (𝑓:𝐴1-1-onto𝑥 → (𝑓 “ (𝐴𝐵)) = ((𝑓𝐴) ∖ (𝑓𝐵)))
1716eleq2d 2817 . . . . . . . . . . . . . . . . . . 19 (𝑓:𝐴1-1-onto𝑥 → ((𝑓𝑦) ∈ (𝑓 “ (𝐴𝐵)) ↔ (𝑓𝑦) ∈ ((𝑓𝐴) ∖ (𝑓𝐵))))
1813, 17sylibd 239 . . . . . . . . . . . . . . . . . 18 (𝑓:𝐴1-1-onto𝑥 → (𝑦 ∈ (𝐴𝐵) → (𝑓𝑦) ∈ ((𝑓𝐴) ∖ (𝑓𝐵))))
19 n0i 4287 . . . . . . . . . . . . . . . . . 18 ((𝑓𝑦) ∈ ((𝑓𝐴) ∖ (𝑓𝐵)) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅)
2018, 19syl6 35 . . . . . . . . . . . . . . . . 17 (𝑓:𝐴1-1-onto𝑥 → (𝑦 ∈ (𝐴𝐵) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅))
218, 20biimtrrid 243 . . . . . . . . . . . . . . . 16 (𝑓:𝐴1-1-onto𝑥 → ((𝑦𝐴 ∧ ¬ 𝑦𝐵) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅))
2221exlimdv 1934 . . . . . . . . . . . . . . 15 (𝑓:𝐴1-1-onto𝑥 → (∃𝑦(𝑦𝐴 ∧ ¬ 𝑦𝐵) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅))
2322imp 406 . . . . . . . . . . . . . 14 ((𝑓:𝐴1-1-onto𝑥 ∧ ∃𝑦(𝑦𝐴 ∧ ¬ 𝑦𝐵)) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅)
247, 23sylan2 593 . . . . . . . . . . . . 13 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → ¬ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅)
25 ssdif0 4313 . . . . . . . . . . . . 13 ((𝑓𝐴) ⊆ (𝑓𝐵) ↔ ((𝑓𝐴) ∖ (𝑓𝐵)) = ∅)
2624, 25sylnibr 329 . . . . . . . . . . . 12 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → ¬ (𝑓𝐴) ⊆ (𝑓𝐵))
27 dfpss3 4036 . . . . . . . . . . . 12 ((𝑓𝐵) ⊊ (𝑓𝐴) ↔ ((𝑓𝐵) ⊆ (𝑓𝐴) ∧ ¬ (𝑓𝐴) ⊆ (𝑓𝐵)))
286, 26, 27sylanbrc 583 . . . . . . . . . . 11 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → (𝑓𝐵) ⊊ (𝑓𝐴))
29 imadmrn 6018 . . . . . . . . . . . . . 14 (𝑓 “ dom 𝑓) = ran 𝑓
30 f1odm 6767 . . . . . . . . . . . . . . 15 (𝑓:𝐴1-1-onto𝑥 → dom 𝑓 = 𝐴)
3130imaeq2d 6008 . . . . . . . . . . . . . 14 (𝑓:𝐴1-1-onto𝑥 → (𝑓 “ dom 𝑓) = (𝑓𝐴))
32 f1ofo 6770 . . . . . . . . . . . . . . 15 (𝑓:𝐴1-1-onto𝑥𝑓:𝐴onto𝑥)
33 forn 6738 . . . . . . . . . . . . . . 15 (𝑓:𝐴onto𝑥 → ran 𝑓 = 𝑥)
3432, 33syl 17 . . . . . . . . . . . . . 14 (𝑓:𝐴1-1-onto𝑥 → ran 𝑓 = 𝑥)
3529, 31, 343eqtr3a 2790 . . . . . . . . . . . . 13 (𝑓:𝐴1-1-onto𝑥 → (𝑓𝐴) = 𝑥)
3635psseq2d 4043 . . . . . . . . . . . 12 (𝑓:𝐴1-1-onto𝑥 → ((𝑓𝐵) ⊊ (𝑓𝐴) ↔ (𝑓𝐵) ⊊ 𝑥))
3736adantr 480 . . . . . . . . . . 11 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → ((𝑓𝐵) ⊊ (𝑓𝐴) ↔ (𝑓𝐵) ⊊ 𝑥))
3828, 37mpbid 232 . . . . . . . . . 10 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → (𝑓𝐵) ⊊ 𝑥)
39 php2 9117 . . . . . . . . . 10 ((𝑥 ∈ ω ∧ (𝑓𝐵) ⊊ 𝑥) → (𝑓𝐵) ≺ 𝑥)
4038, 39sylan2 593 . . . . . . . . 9 ((𝑥 ∈ ω ∧ (𝑓:𝐴1-1-onto𝑥𝐵𝐴)) → (𝑓𝐵) ≺ 𝑥)
41 nnfi 9077 . . . . . . . . . 10 (𝑥 ∈ ω → 𝑥 ∈ Fin)
42 f1of1 6762 . . . . . . . . . . . 12 (𝑓:𝐴1-1-onto𝑥𝑓:𝐴1-1𝑥)
43 f1ores 6777 . . . . . . . . . . . 12 ((𝑓:𝐴1-1𝑥𝐵𝐴) → (𝑓𝐵):𝐵1-1-onto→(𝑓𝐵))
4442, 3, 43syl2an 596 . . . . . . . . . . 11 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → (𝑓𝐵):𝐵1-1-onto→(𝑓𝐵))
45 vex 3440 . . . . . . . . . . . . . 14 𝑓 ∈ V
4645resex 5977 . . . . . . . . . . . . 13 (𝑓𝐵) ∈ V
47 f1oeq1 6751 . . . . . . . . . . . . 13 (𝑦 = (𝑓𝐵) → (𝑦:𝐵1-1-onto→(𝑓𝐵) ↔ (𝑓𝐵):𝐵1-1-onto→(𝑓𝐵)))
4846, 47spcev 3556 . . . . . . . . . . . 12 ((𝑓𝐵):𝐵1-1-onto→(𝑓𝐵) → ∃𝑦 𝑦:𝐵1-1-onto→(𝑓𝐵))
49 bren 8879 . . . . . . . . . . . 12 (𝐵 ≈ (𝑓𝐵) ↔ ∃𝑦 𝑦:𝐵1-1-onto→(𝑓𝐵))
5048, 49sylibr 234 . . . . . . . . . . 11 ((𝑓𝐵):𝐵1-1-onto→(𝑓𝐵) → 𝐵 ≈ (𝑓𝐵))
5144, 50syl 17 . . . . . . . . . 10 ((𝑓:𝐴1-1-onto𝑥𝐵𝐴) → 𝐵 ≈ (𝑓𝐵))
52 endom 8901 . . . . . . . . . . . 12 (𝐵 ≈ (𝑓𝐵) → 𝐵 ≼ (𝑓𝐵))
53 sdomdom 8902 . . . . . . . . . . . . . . 15 ((𝑓𝐵) ≺ 𝑥 → (𝑓𝐵) ≼ 𝑥)
54 domfi 9098 . . . . . . . . . . . . . . 15 ((𝑥 ∈ Fin ∧ (𝑓𝐵) ≼ 𝑥) → (𝑓𝐵) ∈ Fin)
5553, 54sylan2 593 . . . . . . . . . . . . . 14 ((𝑥 ∈ Fin ∧ (𝑓𝐵) ≺ 𝑥) → (𝑓𝐵) ∈ Fin)
56553adant2 1131 . . . . . . . . . . . . 13 ((𝑥 ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → (𝑓𝐵) ∈ Fin)
57 domfi 9098 . . . . . . . . . . . . . . 15 (((𝑓𝐵) ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵)) → 𝐵 ∈ Fin)
58573adant3 1132 . . . . . . . . . . . . . 14 (((𝑓𝐵) ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → 𝐵 ∈ Fin)
59 domsdomtrfi 9111 . . . . . . . . . . . . . 14 ((𝐵 ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → 𝐵𝑥)
6058, 59syld3an1 1412 . . . . . . . . . . . . 13 (((𝑓𝐵) ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → 𝐵𝑥)
6156, 60syld3an1 1412 . . . . . . . . . . . 12 ((𝑥 ∈ Fin ∧ 𝐵 ≼ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → 𝐵𝑥)
6252, 61syl3an2 1164 . . . . . . . . . . 11 ((𝑥 ∈ Fin ∧ 𝐵 ≈ (𝑓𝐵) ∧ (𝑓𝐵) ≺ 𝑥) → 𝐵𝑥)
63623expia 1121 . . . . . . . . . 10 ((𝑥 ∈ Fin ∧ 𝐵 ≈ (𝑓𝐵)) → ((𝑓𝐵) ≺ 𝑥𝐵𝑥))
6441, 51, 63syl2an 596 . . . . . . . . 9 ((𝑥 ∈ ω ∧ (𝑓:𝐴1-1-onto𝑥𝐵𝐴)) → ((𝑓𝐵) ≺ 𝑥𝐵𝑥))
6540, 64mpd 15 . . . . . . . 8 ((𝑥 ∈ ω ∧ (𝑓:𝐴1-1-onto𝑥𝐵𝐴)) → 𝐵𝑥)
6665exp32 420 . . . . . . 7 (𝑥 ∈ ω → (𝑓:𝐴1-1-onto𝑥 → (𝐵𝐴𝐵𝑥)))
6766exlimdv 1934 . . . . . 6 (𝑥 ∈ ω → (∃𝑓 𝑓:𝐴1-1-onto𝑥 → (𝐵𝐴𝐵𝑥)))
682, 67biimtrid 242 . . . . 5 (𝑥 ∈ ω → (𝐴𝑥 → (𝐵𝐴𝐵𝑥)))
69 ensymfib 9093 . . . . . . . . . . 11 (𝑥 ∈ Fin → (𝑥𝐴𝐴𝑥))
7069adantr 480 . . . . . . . . . 10 ((𝑥 ∈ Fin ∧ 𝐵𝑥) → (𝑥𝐴𝐴𝑥))
7170biimp3ar 1472 . . . . . . . . 9 ((𝑥 ∈ Fin ∧ 𝐵𝑥𝐴𝑥) → 𝑥𝐴)
72 endom 8901 . . . . . . . . . 10 (𝑥𝐴𝑥𝐴)
73 sdomdom 8902 . . . . . . . . . . . . 13 (𝐵𝑥𝐵𝑥)
74 domfi 9098 . . . . . . . . . . . . 13 ((𝑥 ∈ Fin ∧ 𝐵𝑥) → 𝐵 ∈ Fin)
7573, 74sylan2 593 . . . . . . . . . . . 12 ((𝑥 ∈ Fin ∧ 𝐵𝑥) → 𝐵 ∈ Fin)
76753adant3 1132 . . . . . . . . . . 11 ((𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴) → 𝐵 ∈ Fin)
77 sdomdomtrfi 9110 . . . . . . . . . . 11 ((𝐵 ∈ Fin ∧ 𝐵𝑥𝑥𝐴) → 𝐵𝐴)
7876, 77syld3an1 1412 . . . . . . . . . 10 ((𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴) → 𝐵𝐴)
7972, 78syl3an3 1165 . . . . . . . . 9 ((𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴) → 𝐵𝐴)
8071, 79syld3an3 1411 . . . . . . . 8 ((𝑥 ∈ Fin ∧ 𝐵𝑥𝐴𝑥) → 𝐵𝐴)
8141, 80syl3an1 1163 . . . . . . 7 ((𝑥 ∈ ω ∧ 𝐵𝑥𝐴𝑥) → 𝐵𝐴)
82813com23 1126 . . . . . 6 ((𝑥 ∈ ω ∧ 𝐴𝑥𝐵𝑥) → 𝐵𝐴)
83823exp 1119 . . . . 5 (𝑥 ∈ ω → (𝐴𝑥 → (𝐵𝑥𝐵𝐴)))
8468, 83syldd 72 . . . 4 (𝑥 ∈ ω → (𝐴𝑥 → (𝐵𝐴𝐵𝐴)))
8584rexlimiv 3126 . . 3 (∃𝑥 ∈ ω 𝐴𝑥 → (𝐵𝐴𝐵𝐴))
861, 85sylbi 217 . 2 (𝐴 ∈ Fin → (𝐵𝐴𝐵𝐴))
8786imp 406 1 ((𝐴 ∈ Fin ∧ 𝐵𝐴) → 𝐵𝐴)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395   = wceq 1541  wex 1780  wcel 2111  wrex 3056  cdif 3894  wss 3897  wpss 3898  c0 4280   class class class wbr 5089  ccnv 5613  dom cdm 5614  ran crn 5615  cres 5616  cima 5617  Fun wfun 6475   Fn wfn 6476  1-1wf1 6478  ontowfo 6479  1-1-ontowf1o 6480  cfv 6481  ωcom 7796  cen 8866  cdom 8867  csdm 8868  Fincfn 8869
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2113  ax-9 2121  ax-10 2144  ax-11 2160  ax-12 2180  ax-ext 2703  ax-sep 5232  ax-nul 5242  ax-pr 5368  ax-un 7668
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2535  df-eu 2564  df-clab 2710  df-cleq 2723  df-clel 2806  df-nfc 2881  df-ne 2929  df-ral 3048  df-rex 3057  df-reu 3347  df-rab 3396  df-v 3438  df-sbc 3737  df-csb 3846  df-dif 3900  df-un 3902  df-in 3904  df-ss 3914  df-pss 3917  df-nul 4281  df-if 4473  df-pw 4549  df-sn 4574  df-pr 4576  df-op 4580  df-uni 4857  df-br 5090  df-opab 5152  df-mpt 5171  df-tr 5197  df-id 5509  df-eprel 5514  df-po 5522  df-so 5523  df-fr 5567  df-we 5569  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-ord 6309  df-on 6310  df-lim 6311  df-suc 6312  df-iota 6437  df-fun 6483  df-fn 6484  df-f 6485  df-f1 6486  df-fo 6487  df-f1o 6488  df-fv 6489  df-om 7797  df-1o 8385  df-en 8870  df-dom 8871  df-sdom 8872  df-fin 8873
This theorem is referenced by:  phpeqd  9121  onomeneq  9123  pssinf  9146  f1finf1o  9157  findcard3  9167  fofinf1o  9216  ackbij1b  10129  fincssdom  10214  fin23lem25  10215  canthp1lem2  10544  pwfseqlem4  10553  uzindi  13889  symggen  19382  pgpssslw  19526  pgpfaclem2  19996  ppiltx  27114  finminlem  36362  lindsenlbs  37665
  Copyright terms: Public domain W3C validator