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 ABA×B=C×DA=CB=D

Proof

Step Hyp Ref Expression
1 xpnz ABA×B
2 anidm A×BA×BA×B
3 neeq1 A×B=C×DA×BC×D
4 3 anbi2d A×B=C×DA×BA×BA×BC×D
5 2 4 bitr3id A×B=C×DA×BA×BC×D
6 eqimss A×B=C×DA×BC×D
7 ssxpb A×BA×BC×DACBD
8 6 7 syl5ibcom A×B=C×DA×BACBD
9 eqimss2 A×B=C×DC×DA×B
10 ssxpb C×DC×DA×BCADB
11 9 10 syl5ibcom A×B=C×DC×DCADB
12 8 11 anim12d A×B=C×DA×BC×DACBDCADB
13 an4 ACBDCADBACCABDDB
14 eqss A=CACCA
15 eqss B=DBDDB
16 14 15 anbi12i A=CB=DACCABDDB
17 13 16 bitr4i ACBDCADBA=CB=D
18 12 17 imbitrdi A×B=C×DA×BC×DA=CB=D
19 5 18 sylbid A×B=C×DA×BA=CB=D
20 19 com12 A×BA×B=C×DA=CB=D
21 1 20 sylbi ABA×B=C×DA=CB=D
22 xpeq12 A=CB=DA×B=C×D
23 21 22 impbid1 ABA×B=C×DA=CB=D