Metamath Proof Explorer


Theorem xp11

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)

Ref Expression
Assertion xp11 A B A × B = C × D A = C B = D

Proof

Step Hyp Ref Expression
1 xpnz A B A × B
2 anidm A × B A × B A × B
3 neeq1 A × B = C × D A × B C × D
4 3 anbi2d A × B = C × D A × B A × B A × B C × D
5 2 4 bitr3id A × B = C × D A × B A × B C × D
6 eqimss A × B = C × D A × B C × D
7 ssxpb A × B A × B C × D A C B D
8 6 7 syl5ibcom A × B = C × D A × B A C B D
9 eqimss2 A × B = C × D C × D A × B
10 ssxpb C × D C × D A × B C A D B
11 9 10 syl5ibcom A × B = C × D C × D C A D B
12 8 11 anim12d A × B = C × D A × B C × D A C B D C A D B
13 an4 A C B D C A D B A C C A B D D B
14 eqss A = C A C C A
15 eqss B = D B D D B
16 14 15 anbi12i A = C B = D A C C A B D D B
17 13 16 bitr4i A C B D C A D B A = C B = D
18 12 17 syl6ib A × B = C × D A × B C × D A = C B = D
19 5 18 sylbid A × B = C × D A × B A = C B = D
20 19 com12 A × B A × B = C × D A = C B = D
21 1 20 sylbi A B A × B = C × D A = C B = D
22 xpeq12 A = C B = D A × B = C × D
23 21 22 impbid1 A B A × B = C × D A = C B = D