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

Theorem xpsnen 9045
Description: A set is equinumerous to its Cartesian product with a singleton. Proposition 4.22(c) of [Mendelson] p. 254. (Contributed by NM, 4-Jan-2004.) (Revised by Mario Carneiro, 15-Nov-2014.)
Hypotheses
Ref Expression
xpsnen.1 𝐴 ∈ V
xpsnen.2 𝐵 ∈ V
Assertion
Ref Expression
xpsnen (𝐴 × {𝐵}) ≈ 𝐴

Proof of Theorem xpsnen
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xpsnen.1 . . 3 𝐴 ∈ V
2 snex 5410 . . 3 {𝐵} ∈ V
31, 2xpex 7748 . 2 (𝐴 × {𝐵}) ∈ V
4 elxp 5684 . . 3 (𝑦 ∈ (𝐴 × {𝐵}) ↔ ∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})))
5 inteq 4915 . . . . . . . 8 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥, 𝑧⟩)
65inteqd 4917 . . . . . . 7 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥, 𝑧⟩)
7 vex 3459 . . . . . . . 8 𝑥 ∈ V
8 vex 3459 . . . . . . . 8 𝑧 ∈ V
97, 8op1stb 5453 . . . . . . 7 𝑥, 𝑧⟩ = 𝑥
106, 9eqtrdi 2814 . . . . . 6 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥)
1110, 7eqeltrdi 2871 . . . . 5 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 ∈ V)
1211adantr 485 . . . 4 ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) → 𝑦 ∈ V)
1312exlimivv 1962 . . 3 (∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) → 𝑦 ∈ V)
144, 13sylbi 220 . 2 (𝑦 ∈ (𝐴 × {𝐵}) → 𝑦 ∈ V)
15 opex 5445 . . 3 𝑥, 𝐵⟩ ∈ V
1615a1i 11 . 2 (𝑥𝐴 → ⟨𝑥, 𝐵⟩ ∈ V)
17 eqvisset 3475 . . . . 5 (𝑥 = 𝑦 𝑦 ∈ V)
18 ancom 465 . . . . . . . . . . 11 (((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ∧ 𝑧 ∈ {𝐵}) ↔ (𝑧 ∈ {𝐵} ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
19 anass 473 . . . . . . . . . . 11 (((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ∧ 𝑧 ∈ {𝐵}) ↔ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})))
20 velsn 4605 . . . . . . . . . . . 12 (𝑧 ∈ {𝐵} ↔ 𝑧 = 𝐵)
2120anbi1i 635 . . . . . . . . . . 11 ((𝑧 ∈ {𝐵} ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)) ↔ (𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
2218, 19, 213bitr3i 304 . . . . . . . . . 10 ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ (𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
2322exbii 1878 . . . . . . . . 9 (∃𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ ∃𝑧(𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
24 xpsnen.2 . . . . . . . . . 10 𝐵 ∈ V
25 opeq2 4839 . . . . . . . . . . . 12 (𝑧 = 𝐵 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝐵⟩)
2625eqeq2d 2774 . . . . . . . . . . 11 (𝑧 = 𝐵 → (𝑦 = ⟨𝑥, 𝑧⟩ ↔ 𝑦 = ⟨𝑥, 𝐵⟩))
2726anbi1d 642 . . . . . . . . . 10 (𝑧 = 𝐵 → ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
2824, 27ceqsexv 3503 . . . . . . . . 9 (∃𝑧(𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴))
29 inteq 4915 . . . . . . . . . . . . . 14 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑦 = 𝑥, 𝐵⟩)
3029inteqd 4917 . . . . . . . . . . . . 13 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑦 = 𝑥, 𝐵⟩)
317, 24op1stb 5453 . . . . . . . . . . . . 13 𝑥, 𝐵⟩ = 𝑥
3230, 31eqtr2di 2815 . . . . . . . . . . . 12 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑥 = 𝑦)
3332pm4.71ri 569 . . . . . . . . . . 11 (𝑦 = ⟨𝑥, 𝐵⟩ ↔ (𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩))
3433anbi1i 635 . . . . . . . . . 10 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ ((𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩) ∧ 𝑥𝐴))
35 anass 473 . . . . . . . . . 10 (((𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩) ∧ 𝑥𝐴) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3634, 35bitri 278 . . . . . . . . 9 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3723, 28, 363bitri 300 . . . . . . . 8 (∃𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3837exbii 1878 . . . . . . 7 (∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ ∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
394, 38bitri 278 . . . . . 6 (𝑦 ∈ (𝐴 × {𝐵}) ↔ ∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
40 opeq1 4838 . . . . . . . . 9 (𝑥 = 𝑦 → ⟨𝑥, 𝐵⟩ = ⟨ 𝑦, 𝐵⟩)
4140eqeq2d 2774 . . . . . . . 8 (𝑥 = 𝑦 → (𝑦 = ⟨𝑥, 𝐵⟩ ↔ 𝑦 = ⟨ 𝑦, 𝐵⟩))
42 eleq1 2851 . . . . . . . 8 (𝑥 = 𝑦 → (𝑥𝐴 𝑦𝐴))
4341, 42anbi12d 643 . . . . . . 7 (𝑥 = 𝑦 → ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4443ceqsexgv 3613 . . . . . 6 ( 𝑦 ∈ V → (∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4539, 44bitrid 286 . . . . 5 ( 𝑦 ∈ V → (𝑦 ∈ (𝐴 × {𝐵}) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4617, 45syl 18 . . . 4 (𝑥 = 𝑦 → (𝑦 ∈ (𝐴 × {𝐵}) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4746pm5.32ri 585 . . 3 ((𝑦 ∈ (𝐴 × {𝐵}) ∧ 𝑥 = 𝑦) ↔ ((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦))
4832adantr 485 . . . . 5 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) → 𝑥 = 𝑦)
4948pm4.71i 568 . . . 4 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ∧ 𝑥 = 𝑦))
5043pm5.32ri 585 . . . 4 (((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ∧ 𝑥 = 𝑦) ↔ ((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦))
5149, 50bitr2i 279 . . 3 (((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴))
52 ancom 465 . . 3 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑥𝐴𝑦 = ⟨𝑥, 𝐵⟩))
5347, 51, 523bitri 300 . 2 ((𝑦 ∈ (𝐴 × {𝐵}) ∧ 𝑥 = 𝑦) ↔ (𝑥𝐴𝑦 = ⟨𝑥, 𝐵⟩))
543, 1, 14, 16, 53en2i 8983 1 (𝐴 × {𝐵}) ≈ 𝐴
Colors of variables: wff setvar class
Syntax hints:  wb 209  wa 400   = wceq 1570  wex 1809  wcel 2143  Vcvv 3455  {csn 4589  cop 4595   cint 4912   class class class wbr 5109   × cxp 5659  cen 8936
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5257  ax-pow 5336  ax-pr 5404  ax-un 7732
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ral 3080  df-rex 3090  df-rab 3417  df-v 3457  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-nul 4287  df-if 4488  df-pw 4564  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4873  df-int 4913  df-br 5110  df-opab 5174  df-mpt 5193  df-id 5556  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-rn 5672  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-en 8940
This theorem is referenced by:  xpsneng  9046  endisj  9048  infxpenlem  9993  hashxplem  14466  rexpen  16279  heiborlem3  38484
  Copyright terms: Public domain W3C validator