Users' Mathboxes Mathbox for Stefan O'Rear < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  fphpd Structured version   Visualization version   GIF version

Theorem fphpd 43823
Description: Pigeonhole principle expressed with implicit substitution. If the range is smaller than the domain, two inputs must be mapped to the same output. (Contributed by Stefan O'Rear, 19-Oct-2014.) (Revised by Stefan O'Rear, 6-May-2015.)
Hypotheses
Ref Expression
fphpd.a (𝜑 → 𝐵 ≺ 𝐴)
fphpd.b ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐶 ∈ 𝐵)
fphpd.c (𝑥 = 𝑦 → 𝐶 = 𝐷)
Assertion
Ref Expression
fphpd (𝜑 → ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷))
Distinct variable groups:   𝑥,𝐴,𝑦   𝑥,𝐵,𝑦   𝑦,𝐶   𝑥,𝐷   𝜑,𝑥,𝑦
Allowed substitution hints:   𝐶(𝑥)   𝐷(𝑦)

Proof of Theorem fphpd
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 domnsym 9122 . . . 4 (𝐴 ≼ 𝐵 → ¬ 𝐵 ≺ 𝐴)
2 fphpd.a . . . 4 (𝜑 → 𝐵 ≺ 𝐴)
31, 2nsyl3 139 . . 3 (𝜑 → ¬ 𝐴 ≼ 𝐵)
4 relsdom 8980 . . . . . . 7 Rel ≺
54brrelex1i 5706 . . . . . 6 (𝐵 ≺ 𝐴 → 𝐵 ∈ V)
62, 5syl 18 . . . . 5 (𝜑 → 𝐵 ∈ V)
76adantr 486 . . . 4 ((𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦)) → 𝐵 ∈ V)
8 nfv 1946 . . . . . . . . 9 Ⅎ𝑥(𝜑 ∧ 𝑎 ∈ 𝐴)
9 nfcsb1v 3870 . . . . . . . . . 10 Ⅎ𝑥⦋𝑎 / 𝑥⦌𝐶
109nfel1 2938 . . . . . . . . 9 Ⅎ𝑥⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵
118, 10nfim 1928 . . . . . . . 8 Ⅎ𝑥((𝜑 ∧ 𝑎 ∈ 𝐴) → ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵)
12 eleq1w 2843 . . . . . . . . . 10 (𝑥 = 𝑎 → (𝑥 ∈ 𝐴 ↔ 𝑎 ∈ 𝐴))
1312anbi2d 642 . . . . . . . . 9 (𝑥 = 𝑎 → ((𝜑 ∧ 𝑥 ∈ 𝐴) ↔ (𝜑 ∧ 𝑎 ∈ 𝐴)))
14 csbeq1a 3860 . . . . . . . . . 10 (𝑥 = 𝑎 → 𝐶 = ⦋𝑎 / 𝑥⦌𝐶)
1514eleq1d 2845 . . . . . . . . 9 (𝑥 = 𝑎 → (𝐶 ∈ 𝐵 ↔ ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵))
1613, 15imbi12d 347 . . . . . . . 8 (𝑥 = 𝑎 → (((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐶 ∈ 𝐵) ↔ ((𝜑 ∧ 𝑎 ∈ 𝐴) → ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵)))
17 fphpd.b . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐶 ∈ 𝐵)
1811, 16, 17chvarfv 2276 . . . . . . 7 ((𝜑 ∧ 𝑎 ∈ 𝐴) → ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵)
1918ex 418 . . . . . 6 (𝜑 → (𝑎 ∈ 𝐴 → ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵))
2019adantr 486 . . . . 5 ((𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦)) → (𝑎 ∈ 𝐴 → ⦋𝑎 / 𝑥⦌𝐶 ∈ 𝐵))
21 csbid 3859 . . . . . . . . . . 11 ⦋𝑥 / 𝑥⦌𝐶 = 𝐶
22 vex 3454 . . . . . . . . . . . 12 𝑦 ∈ V
23 fphpd.c . . . . . . . . . . . 12 (𝑥 = 𝑦 → 𝐶 = 𝐷)
2422, 23csbie 3881 . . . . . . . . . . 11 ⦋𝑦 / 𝑥⦌𝐶 = 𝐷
2521, 24eqeq12i 2778 . . . . . . . . . 10 (⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 ↔ 𝐶 = 𝐷)
2625imbi1i 352 . . . . . . . . 9 ((⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑥 = 𝑦) ↔ (𝐶 = 𝐷 → 𝑥 = 𝑦))
27262ralbii 3137 . . . . . . . 8 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑥 = 𝑦) ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
28 nfcsb1v 3870 . . . . . . . . . . . 12 Ⅎ𝑥⦋𝑦 / 𝑥⦌𝐶
299, 28nfeq 2935 . . . . . . . . . . 11 Ⅎ𝑥⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶
30 nfv 1946 . . . . . . . . . . 11 Ⅎ𝑥 𝑎 = 𝑦
3129, 30nfim 1928 . . . . . . . . . 10 Ⅎ𝑥(⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑎 = 𝑦)
32 nfv 1946 . . . . . . . . . 10 Ⅎ𝑦(⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏)
33 csbeq1 3849 . . . . . . . . . . . 12 (𝑥 = 𝑎 → ⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑎 / 𝑥⦌𝐶)
3433eqeq1d 2762 . . . . . . . . . . 11 (𝑥 = 𝑎 → (⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 ↔ ⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶))
35 equequ1 2057 . . . . . . . . . . 11 (𝑥 = 𝑎 → (𝑥 = 𝑦 ↔ 𝑎 = 𝑦))
3634, 35imbi12d 347 . . . . . . . . . 10 (𝑥 = 𝑎 → ((⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑥 = 𝑦) ↔ (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑎 = 𝑦)))
37 csbeq1 3849 . . . . . . . . . . . 12 (𝑦 = 𝑏 → ⦋𝑦 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶)
3837eqeq2d 2771 . . . . . . . . . . 11 (𝑦 = 𝑏 → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 ↔ ⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶))
39 equequ2 2058 . . . . . . . . . . 11 (𝑦 = 𝑏 → (𝑎 = 𝑦 ↔ 𝑎 = 𝑏))
4038, 39imbi12d 347 . . . . . . . . . 10 (𝑦 = 𝑏 → ((⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑎 = 𝑦) ↔ (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏)))
4131, 32, 36, 40rspc2 3584 . . . . . . . . 9 ((𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐴) → (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑥 = 𝑦) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏)))
4241com12 33 . . . . . . . 8 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (⦋𝑥 / 𝑥⦌𝐶 = ⦋𝑦 / 𝑥⦌𝐶 → 𝑥 = 𝑦) → ((𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐴) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏)))
4327, 42sylbir 238 . . . . . . 7 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦) → ((𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐴) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏)))
44 id 23 . . . . . . . 8 ((⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏))
45 csbeq1 3849 . . . . . . . 8 (𝑎 = 𝑏 → ⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶)
4644, 45impbid1 228 . . . . . . 7 ((⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 → 𝑎 = 𝑏) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 ↔ 𝑎 = 𝑏))
4743, 46syl6 36 . . . . . 6 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦) → ((𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐴) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 ↔ 𝑎 = 𝑏)))
4847adantl 487 . . . . 5 ((𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦)) → ((𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐴) → (⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑥⦌𝐶 ↔ 𝑎 = 𝑏)))
4920, 48dom2d 9020 . . . 4 ((𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦)) → (𝐵 ∈ V → 𝐴 ≼ 𝐵))
507, 49mpd 16 . . 3 ((𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦)) → 𝐴 ≼ 𝐵)
513, 50mtand 828 . 2 (𝜑 → ¬ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
52 ancom 466 . . . . . . 7 ((¬ 𝑥 = 𝑦 ∧ 𝐶 = 𝐷) ↔ (𝐶 = 𝐷 ∧ ¬ 𝑥 = 𝑦))
53 df-ne 2956 . . . . . . . 8 (𝑥 ≠ 𝑦 ↔ ¬ 𝑥 = 𝑦)
5453anbi1i 636 . . . . . . 7 ((𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ (¬ 𝑥 = 𝑦 ∧ 𝐶 = 𝐷))
55 pm4.61 410 . . . . . . 7 (¬ (𝐶 = 𝐷 → 𝑥 = 𝑦) ↔ (𝐶 = 𝐷 ∧ ¬ 𝑥 = 𝑦))
5652, 54, 553bitr4i 306 . . . . . 6 ((𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ ¬ (𝐶 = 𝐷 → 𝑥 = 𝑦))
5756rexbii 3109 . . . . 5 (∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ ∃𝑦 ∈ 𝐴 ¬ (𝐶 = 𝐷 → 𝑥 = 𝑦))
58 rexnal 3114 . . . . 5 (∃𝑦 ∈ 𝐴 ¬ (𝐶 = 𝐷 → 𝑥 = 𝑦) ↔ ¬ ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
5957, 58bitri 278 . . . 4 (∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ ¬ ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
6059rexbii 3109 . . 3 (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ ∃𝑥 ∈ 𝐴 ¬ ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
61 rexnal 3114 . . 3 (∃𝑥 ∈ 𝐴 ¬ ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦) ↔ ¬ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
6260, 61bitri 278 . 2 (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷) ↔ ¬ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝐶 = 𝐷 → 𝑥 = 𝑦))
6351, 62sylibr 237 1 (𝜑 → ∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐴 (𝑥 ≠ 𝑦 ∧ 𝐶 = 𝐷))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2144   ≠ wne 2955  ∀wral 3076  ∃wrex 3086  Vcvv 3450  ⦋csb 3846   class class class wbr 5102   ≼ cdom 8971   ≺ csdm 8972
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-er 8717  df-en 8974  df-dom 8975  df-sdom 8976
This theorem is used by:  fphpdo  43824  pellex  43842
  Copyright terms: Public domain W3C validator