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

Theorem xpsnen 9067
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 5406 . . 3 {𝐵} ∈ V
31, 2xpex 7745 . 2 (𝐴 × {𝐵}) ∈ V
4 elxp 5677 . . 3 (𝑦 ∈ (𝐴 × {𝐵}) ↔ ∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})))
5 inteq 4925 . . . . . . . 8 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥, 𝑧⟩)
65inteqd 4927 . . . . . . 7 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥, 𝑧⟩)
7 vex 3463 . . . . . . . 8 𝑥 ∈ V
8 vex 3463 . . . . . . . 8 𝑧 ∈ V
97, 8op1stb 5446 . . . . . . 7 𝑥, 𝑧⟩ = 𝑥
106, 9eqtrdi 2786 . . . . . 6 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 = 𝑥)
1110, 7eqeltrdi 2842 . . . . 5 (𝑦 = ⟨𝑥, 𝑧⟩ → 𝑦 ∈ V)
1211adantr 480 . . . 4 ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) → 𝑦 ∈ V)
1312exlimivv 1932 . . 3 (∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) → 𝑦 ∈ V)
144, 13sylbi 217 . 2 (𝑦 ∈ (𝐴 × {𝐵}) → 𝑦 ∈ V)
15 opex 5439 . . 3 𝑥, 𝐵⟩ ∈ V
1615a1i 11 . 2 (𝑥𝐴 → ⟨𝑥, 𝐵⟩ ∈ V)
17 eqvisset 3479 . . . . 5 (𝑥 = 𝑦 𝑦 ∈ V)
18 ancom 460 . . . . . . . . . . 11 (((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ∧ 𝑧 ∈ {𝐵}) ↔ (𝑧 ∈ {𝐵} ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
19 anass 468 . . . . . . . . . . 11 (((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ∧ 𝑧 ∈ {𝐵}) ↔ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})))
20 velsn 4617 . . . . . . . . . . . 12 (𝑧 ∈ {𝐵} ↔ 𝑧 = 𝐵)
2120anbi1i 624 . . . . . . . . . . 11 ((𝑧 ∈ {𝐵} ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)) ↔ (𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
2218, 19, 213bitr3i 301 . . . . . . . . . 10 ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ (𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
2322exbii 1848 . . . . . . . . 9 (∃𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ ∃𝑧(𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)))
24 xpsnen.2 . . . . . . . . . 10 𝐵 ∈ V
25 opeq2 4850 . . . . . . . . . . . 12 (𝑧 = 𝐵 → ⟨𝑥, 𝑧⟩ = ⟨𝑥, 𝐵⟩)
2625eqeq2d 2746 . . . . . . . . . . 11 (𝑧 = 𝐵 → (𝑦 = ⟨𝑥, 𝑧⟩ ↔ 𝑦 = ⟨𝑥, 𝐵⟩))
2726anbi1d 631 . . . . . . . . . 10 (𝑧 = 𝐵 → ((𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
2824, 27ceqsexv 3511 . . . . . . . . 9 (∃𝑧(𝑧 = 𝐵 ∧ (𝑦 = ⟨𝑥, 𝑧⟩ ∧ 𝑥𝐴)) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴))
29 inteq 4925 . . . . . . . . . . . . . 14 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑦 = 𝑥, 𝐵⟩)
3029inteqd 4927 . . . . . . . . . . . . 13 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑦 = 𝑥, 𝐵⟩)
317, 24op1stb 5446 . . . . . . . . . . . . 13 𝑥, 𝐵⟩ = 𝑥
3230, 31eqtr2di 2787 . . . . . . . . . . . 12 (𝑦 = ⟨𝑥, 𝐵⟩ → 𝑥 = 𝑦)
3332pm4.71ri 560 . . . . . . . . . . 11 (𝑦 = ⟨𝑥, 𝐵⟩ ↔ (𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩))
3433anbi1i 624 . . . . . . . . . 10 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ ((𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩) ∧ 𝑥𝐴))
35 anass 468 . . . . . . . . . 10 (((𝑥 = 𝑦𝑦 = ⟨𝑥, 𝐵⟩) ∧ 𝑥𝐴) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3634, 35bitri 275 . . . . . . . . 9 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3723, 28, 363bitri 297 . . . . . . . 8 (∃𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ (𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
3837exbii 1848 . . . . . . 7 (∃𝑥𝑧(𝑦 = ⟨𝑥, 𝑧⟩ ∧ (𝑥𝐴𝑧 ∈ {𝐵})) ↔ ∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
394, 38bitri 275 . . . . . 6 (𝑦 ∈ (𝐴 × {𝐵}) ↔ ∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)))
40 opeq1 4849 . . . . . . . . 9 (𝑥 = 𝑦 → ⟨𝑥, 𝐵⟩ = ⟨ 𝑦, 𝐵⟩)
4140eqeq2d 2746 . . . . . . . 8 (𝑥 = 𝑦 → (𝑦 = ⟨𝑥, 𝐵⟩ ↔ 𝑦 = ⟨ 𝑦, 𝐵⟩))
42 eleq1 2822 . . . . . . . 8 (𝑥 = 𝑦 → (𝑥𝐴 𝑦𝐴))
4341, 42anbi12d 632 . . . . . . 7 (𝑥 = 𝑦 → ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4443ceqsexgv 3633 . . . . . 6 ( 𝑦 ∈ V → (∃𝑥(𝑥 = 𝑦 ∧ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴)) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4539, 44bitrid 283 . . . . 5 ( 𝑦 ∈ V → (𝑦 ∈ (𝐴 × {𝐵}) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4617, 45syl 17 . . . 4 (𝑥 = 𝑦 → (𝑦 ∈ (𝐴 × {𝐵}) ↔ (𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴)))
4746pm5.32ri 575 . . 3 ((𝑦 ∈ (𝐴 × {𝐵}) ∧ 𝑥 = 𝑦) ↔ ((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦))
4832adantr 480 . . . . 5 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) → 𝑥 = 𝑦)
4948pm4.71i 559 . . . 4 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ∧ 𝑥 = 𝑦))
5043pm5.32ri 575 . . . 4 (((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ∧ 𝑥 = 𝑦) ↔ ((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦))
5149, 50bitr2i 276 . . 3 (((𝑦 = ⟨ 𝑦, 𝐵⟩ ∧ 𝑦𝐴) ∧ 𝑥 = 𝑦) ↔ (𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴))
52 ancom 460 . . 3 ((𝑦 = ⟨𝑥, 𝐵⟩ ∧ 𝑥𝐴) ↔ (𝑥𝐴𝑦 = ⟨𝑥, 𝐵⟩))
5347, 51, 523bitri 297 . 2 ((𝑦 ∈ (𝐴 × {𝐵}) ∧ 𝑥 = 𝑦) ↔ (𝑥𝐴𝑦 = ⟨𝑥, 𝐵⟩))
543, 1, 14, 16, 53en2i 9002 1 (𝐴 × {𝐵}) ≈ 𝐴
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395   = wceq 1540  wex 1779  wcel 2108  Vcvv 3459  {csn 4601  cop 4607   cint 4922   class class class wbr 5119   × cxp 5652  cen 8954
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2707  ax-sep 5266  ax-nul 5276  ax-pow 5335  ax-pr 5402  ax-un 7727
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2809  df-nfc 2885  df-ral 3052  df-rex 3061  df-rab 3416  df-v 3461  df-dif 3929  df-un 3931  df-in 3933  df-ss 3943  df-nul 4309  df-if 4501  df-pw 4577  df-sn 4602  df-pr 4604  df-op 4608  df-uni 4884  df-int 4923  df-br 5120  df-opab 5182  df-mpt 5202  df-id 5548  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-fun 6532  df-fn 6533  df-f 6534  df-f1 6535  df-fo 6536  df-f1o 6537  df-en 8958
This theorem is referenced by:  xpsneng  9068  endisj  9070  infxpenlem  10025  hashxplem  14449  rexpen  16244  heiborlem3  37783
  Copyright terms: Public domain W3C validator