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

Theorem xp11 6197
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 6181 . . 3 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
2 anidm 564 . . . . . 6 (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
3 neeq1 3001 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ (𝐶 × 𝐷) ≠ ∅))
43anbi2d 630 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
52, 4bitr3id 285 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
6 eqimss 4054 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 × 𝐵) ⊆ (𝐶 × 𝐷))
7 ssxpb 6196 . . . . . . . 8 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) ⊆ (𝐶 × 𝐷) ↔ (𝐴𝐶𝐵𝐷)))
86, 7syl5ibcom 245 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴𝐶𝐵𝐷)))
9 eqimss2 4055 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐶 × 𝐷) ⊆ (𝐴 × 𝐵))
10 ssxpb 6196 . . . . . . . 8 ((𝐶 × 𝐷) ≠ ∅ → ((𝐶 × 𝐷) ⊆ (𝐴 × 𝐵) ↔ (𝐶𝐴𝐷𝐵)))
119, 10syl5ibcom 245 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐶 × 𝐷) ≠ ∅ → (𝐶𝐴𝐷𝐵)))
128, 11anim12d 609 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → ((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵))))
13 an4 656 . . . . . . 7 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
14 eqss 4011 . . . . . . . 8 (𝐴 = 𝐶 ↔ (𝐴𝐶𝐶𝐴))
15 eqss 4011 . . . . . . . 8 (𝐵 = 𝐷 ↔ (𝐵𝐷𝐷𝐵))
1614, 15anbi12i 628 . . . . . . 7 ((𝐴 = 𝐶𝐵 = 𝐷) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
1713, 16bitr4i 278 . . . . . 6 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ (𝐴 = 𝐶𝐵 = 𝐷))
1812, 17imbitrdi 251 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → (𝐴 = 𝐶𝐵 = 𝐷)))
195, 18sylbid 240 . . . 4 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴 = 𝐶𝐵 = 𝐷)))
2019com12 32 . . 3 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
211, 20sylbi 217 . 2 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
22 xpeq12 5714 . 2 ((𝐴 = 𝐶𝐵 = 𝐷) → (𝐴 × 𝐵) = (𝐶 × 𝐷))
2321, 22impbid1 225 1 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) ↔ (𝐴 = 𝐶𝐵 = 𝐷)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1537  wne 2938  wss 3963  c0 4339   × cxp 5687
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1908  ax-6 1965  ax-7 2005  ax-8 2108  ax-9 2116  ax-11 2155  ax-12 2175  ax-ext 2706  ax-sep 5302  ax-nul 5312  ax-pr 5438
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1540  df-fal 1550  df-ex 1777  df-sb 2063  df-clab 2713  df-cleq 2727  df-clel 2814  df-ne 2939  df-ral 3060  df-rex 3069  df-rab 3434  df-v 3480  df-dif 3966  df-un 3968  df-ss 3980  df-nul 4340  df-if 4532  df-sn 4632  df-pr 4634  df-op 4638  df-br 5149  df-opab 5211  df-xp 5695  df-rel 5696  df-cnv 5697  df-dm 5699  df-rn 5700
This theorem is referenced by:  xpcan  6198  xpcan2  6199  fseqdom  10064  axcc2lem  10474  lmodfopnelem1  20913  xppss12  42247
  Copyright terms: Public domain W3C validator