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

Theorem xp11 6026
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 6010 . . 3 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
2 anidm 567 . . . . . 6 (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ (𝐴 × 𝐵) ≠ ∅)
3 neeq1 3078 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ (𝐶 × 𝐷) ≠ ∅))
43anbi2d 630 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐴 × 𝐵) ≠ ∅) ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
52, 4syl5bbr 287 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ ↔ ((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅)))
6 eqimss 4022 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 × 𝐵) ⊆ (𝐶 × 𝐷))
7 ssxpb 6025 . . . . . . . 8 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) ⊆ (𝐶 × 𝐷) ↔ (𝐴𝐶𝐵𝐷)))
86, 7syl5ibcom 247 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴𝐶𝐵𝐷)))
9 eqimss2 4023 . . . . . . . 8 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐶 × 𝐷) ⊆ (𝐴 × 𝐵))
10 ssxpb 6025 . . . . . . . 8 ((𝐶 × 𝐷) ≠ ∅ → ((𝐶 × 𝐷) ⊆ (𝐴 × 𝐵) ↔ (𝐶𝐴𝐷𝐵)))
119, 10syl5ibcom 247 . . . . . . 7 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐶 × 𝐷) ≠ ∅ → (𝐶𝐴𝐷𝐵)))
128, 11anim12d 610 . . . . . 6 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → ((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵))))
13 an4 654 . . . . . . 7 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
14 eqss 3981 . . . . . . . 8 (𝐴 = 𝐶 ↔ (𝐴𝐶𝐶𝐴))
15 eqss 3981 . . . . . . . 8 (𝐵 = 𝐷 ↔ (𝐵𝐷𝐷𝐵))
1614, 15anbi12i 628 . . . . . . 7 ((𝐴 = 𝐶𝐵 = 𝐷) ↔ ((𝐴𝐶𝐶𝐴) ∧ (𝐵𝐷𝐷𝐵)))
1713, 16bitr4i 280 . . . . . 6 (((𝐴𝐶𝐵𝐷) ∧ (𝐶𝐴𝐷𝐵)) ↔ (𝐴 = 𝐶𝐵 = 𝐷))
1812, 17syl6ib 253 . . . . 5 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (((𝐴 × 𝐵) ≠ ∅ ∧ (𝐶 × 𝐷) ≠ ∅) → (𝐴 = 𝐶𝐵 = 𝐷)))
195, 18sylbid 242 . . . 4 ((𝐴 × 𝐵) = (𝐶 × 𝐷) → ((𝐴 × 𝐵) ≠ ∅ → (𝐴 = 𝐶𝐵 = 𝐷)))
2019com12 32 . . 3 ((𝐴 × 𝐵) ≠ ∅ → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
211, 20sylbi 219 . 2 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) → (𝐴 = 𝐶𝐵 = 𝐷)))
22 xpeq12 5574 . 2 ((𝐴 = 𝐶𝐵 = 𝐷) → (𝐴 × 𝐵) = (𝐶 × 𝐷))
2321, 22impbid1 227 1 ((𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅) → ((𝐴 × 𝐵) = (𝐶 × 𝐷) ↔ (𝐴 = 𝐶𝐵 = 𝐷)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398   = wceq 1533  wne 3016  wss 3935  c0 4290   × cxp 5547
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 1907  ax-6 1966  ax-7 2011  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2157  ax-12 2173  ax-ext 2793  ax-sep 5195  ax-nul 5202  ax-pr 5321
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1085  df-tru 1536  df-ex 1777  df-nf 1781  df-sb 2066  df-mo 2618  df-eu 2650  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-ral 3143  df-rex 3144  df-rab 3147  df-v 3496  df-dif 3938  df-un 3940  df-in 3942  df-ss 3951  df-nul 4291  df-if 4467  df-sn 4561  df-pr 4563  df-op 4567  df-br 5059  df-opab 5121  df-xp 5555  df-rel 5556  df-cnv 5557  df-dm 5559  df-rn 5560
This theorem is referenced by:  xpcan  6027  xpcan2  6028  fseqdom  9446  axcc2lem  9852  lmodfopnelem1  19664  xppss12  39108
  Copyright terms: Public domain W3C validator