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

Theorem xp11 6133
Description: The Cartesian product of nonempty classes is a one-to-one "function" of its two "arguments". In other words, two Cartesian products, at least one with nonempty factors, are equal if and only if their respective factors are equal. (Contributed by NM, 31-May-2008.)
Assertion
Ref Expression
xp11 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) ↔ (𝐴 = 𝐶𝐵 = 𝐷)))

Proof of Theorem xp11
StepHypRef Expression
1 xpnz 6117 . . 3 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
2 anidm 564 . . . . . 6 (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
3 neeq1 2995 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ (𝐶 × 𝐷) ≠ ∅))
43anbi2d 631 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
52, 4bitr3id 285 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
6 eqimss 3981 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 × 𝐵) ⊆ (𝐶 × 𝐷))
7 ssxpb 6132 . . . . . . . 8 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) ⊆ (𝐶 × 𝐷) ↔ (𝐴𝐶𝐵𝐷)))
86, 7syl5ibcom 245 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴𝐶𝐵𝐷)))
9 eqimss2 3982 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐶 × 𝐷) ⊆ (𝐴 × 𝐵))
10 ssxpb 6132 . . . . . . . 8 ((𝐶 × 𝐷) ≠ ∅ → ((𝐶 × 𝐷) ⊆ (𝐴 × 𝐵) ↔ (𝐶𝐴𝐷𝐵)))
119, 10syl5ibcom 245 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐶 × 𝐷) ≠ ∅ → (𝐶𝐴𝐷𝐵)))
128, 11anim12d 610 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → ((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵))))
13 an4 657 . . . . . . 7 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
14 eqss 3938 . . . . . . . 8 (𝐴 = 𝐶 ↔ (𝐴𝐶𝐶𝐴))
15 eqss 3938 . . . . . . . 8 (𝐵 = 𝐷 ↔ (𝐵𝐷𝐷𝐵))
1614, 15anbi12i 629 . . . . . . 7 ((𝐴 = 𝐶𝐵 = 𝐷) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
1713, 16bitr4i 278 . . . . . 6 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ (𝐴 = 𝐶𝐵 = 𝐷))
1812, 17imbitrdi 251 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → (𝐴 = 𝐶𝐵 = 𝐷)))
195, 18sylbid 240 . . . 4 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴 = 𝐶𝐵 = 𝐷)))
2019com12 32 . . 3 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
211, 20sylbi 217 . 2 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
22 xpeq12 5649 . 2 ((𝐴 = 𝐶𝐵 = 𝐷) → (𝐴 × 𝐵) = (𝐶 × 𝐷))
2321, 22impbid1 225 1 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) ↔ (𝐴 = 𝐶𝐵 = 𝐷)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1542  wne 2933  wss 3890  c0 4274   × cxp 5622
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-11 2163  ax-ext 2709  ax-sep 5231  ax-pr 5370
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-sb 2069  df-clab 2716  df-cleq 2729  df-clel 2812  df-ne 2934  df-ral 3053  df-rex 3063  df-rab 3391  df-v 3432  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4275  df-if 4468  df-sn 4569  df-pr 4571  df-op 4575  df-br 5087  df-opab 5149  df-xp 5630  df-rel 5631  df-cnv 5632  df-dm 5634  df-rn 5635
This theorem is referenced by:  xpcan  6134  xpcan2  6135  fseqdom  9939  axcc2lem  10349  lmodfopnelem1  20884  xppss12  42684
  Copyright terms: Public domain W3C validator