Proof of Theorem xpcan
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | xp11 6195 | . . 3
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 ≠ ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ (𝐶 = 𝐶 ∧ 𝐴 = 𝐵))) | 
| 2 |  | eqid 2737 | . . . 4
⊢ 𝐶 = 𝐶 | 
| 3 | 2 | biantrur 530 | . . 3
⊢ (𝐴 = 𝐵 ↔ (𝐶 = 𝐶 ∧ 𝐴 = 𝐵)) | 
| 4 | 1, 3 | bitr4di 289 | . 2
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 ≠ ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ 𝐴 = 𝐵)) | 
| 5 |  | nne 2944 | . . . 4
⊢ (¬
𝐴 ≠ ∅ ↔ 𝐴 = ∅) | 
| 6 |  | simpr 484 | . . . . 5
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 = ∅) → 𝐴 = ∅) | 
| 7 |  | xpeq2 5706 | . . . . . . . . . 10
⊢ (𝐴 = ∅ → (𝐶 × 𝐴) = (𝐶 × ∅)) | 
| 8 |  | xp0 6178 | . . . . . . . . . 10
⊢ (𝐶 × ∅) =
∅ | 
| 9 | 7, 8 | eqtrdi 2793 | . . . . . . . . 9
⊢ (𝐴 = ∅ → (𝐶 × 𝐴) = ∅) | 
| 10 | 9 | eqeq1d 2739 | . . . . . . . 8
⊢ (𝐴 = ∅ → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ ∅ = (𝐶 × 𝐵))) | 
| 11 |  | eqcom 2744 | . . . . . . . 8
⊢ (∅
= (𝐶 × 𝐵) ↔ (𝐶 × 𝐵) = ∅) | 
| 12 | 10, 11 | bitrdi 287 | . . . . . . 7
⊢ (𝐴 = ∅ → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ (𝐶 × 𝐵) = ∅)) | 
| 13 | 12 | adantl 481 | . . . . . 6
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 = ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ (𝐶 × 𝐵) = ∅)) | 
| 14 |  | df-ne 2941 | . . . . . . . 8
⊢ (𝐶 ≠ ∅ ↔ ¬ 𝐶 = ∅) | 
| 15 |  | xpeq0 6180 | . . . . . . . . 9
⊢ ((𝐶 × 𝐵) = ∅ ↔ (𝐶 = ∅ ∨ 𝐵 = ∅)) | 
| 16 |  | orel1 889 | . . . . . . . . 9
⊢ (¬
𝐶 = ∅ → ((𝐶 = ∅ ∨ 𝐵 = ∅) → 𝐵 = ∅)) | 
| 17 | 15, 16 | biimtrid 242 | . . . . . . . 8
⊢ (¬
𝐶 = ∅ → ((𝐶 × 𝐵) = ∅ → 𝐵 = ∅)) | 
| 18 | 14, 17 | sylbi 217 | . . . . . . 7
⊢ (𝐶 ≠ ∅ → ((𝐶 × 𝐵) = ∅ → 𝐵 = ∅)) | 
| 19 | 18 | adantr 480 | . . . . . 6
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 = ∅) → ((𝐶 × 𝐵) = ∅ → 𝐵 = ∅)) | 
| 20 | 13, 19 | sylbid 240 | . . . . 5
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 = ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) → 𝐵 = ∅)) | 
| 21 |  | eqtr3 2763 | . . . . 5
⊢ ((𝐴 = ∅ ∧ 𝐵 = ∅) → 𝐴 = 𝐵) | 
| 22 | 6, 20, 21 | syl6an 684 | . . . 4
⊢ ((𝐶 ≠ ∅ ∧ 𝐴 = ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) → 𝐴 = 𝐵)) | 
| 23 | 5, 22 | sylan2b 594 | . . 3
⊢ ((𝐶 ≠ ∅ ∧ ¬ 𝐴 ≠ ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) → 𝐴 = 𝐵)) | 
| 24 |  | xpeq2 5706 | . . 3
⊢ (𝐴 = 𝐵 → (𝐶 × 𝐴) = (𝐶 × 𝐵)) | 
| 25 | 23, 24 | impbid1 225 | . 2
⊢ ((𝐶 ≠ ∅ ∧ ¬ 𝐴 ≠ ∅) → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ 𝐴 = 𝐵)) | 
| 26 | 4, 25 | pm2.61dan 813 | 1
⊢ (𝐶 ≠ ∅ → ((𝐶 × 𝐴) = (𝐶 × 𝐵) ↔ 𝐴 = 𝐵)) |