Proof of Theorem xpcan2
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | xp11 6194 | . . 3
⊢ ((𝐴 ≠ ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ (𝐴 = 𝐵 ∧ 𝐶 = 𝐶))) | 
| 2 |  | eqid 2736 | . . . 4
⊢ 𝐶 = 𝐶 | 
| 3 | 2 | biantru 529 | . . 3
⊢ (𝐴 = 𝐵 ↔ (𝐴 = 𝐵 ∧ 𝐶 = 𝐶)) | 
| 4 | 1, 3 | bitr4di 289 | . 2
⊢ ((𝐴 ≠ ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ 𝐴 = 𝐵)) | 
| 5 |  | nne 2943 | . . 3
⊢ (¬
𝐴 ≠ ∅ ↔ 𝐴 = ∅) | 
| 6 |  | simpl 482 | . . . . 5
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → 𝐴 = ∅) | 
| 7 |  | xpeq1 5698 | . . . . . . . . . 10
⊢ (𝐴 = ∅ → (𝐴 × 𝐶) = (∅ × 𝐶)) | 
| 8 |  | 0xp 5783 | . . . . . . . . . 10
⊢ (∅
× 𝐶) =
∅ | 
| 9 | 7, 8 | eqtrdi 2792 | . . . . . . . . 9
⊢ (𝐴 = ∅ → (𝐴 × 𝐶) = ∅) | 
| 10 | 9 | eqeq1d 2738 | . . . . . . . 8
⊢ (𝐴 = ∅ → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ ∅ = (𝐵 × 𝐶))) | 
| 11 |  | eqcom 2743 | . . . . . . . 8
⊢ (∅
= (𝐵 × 𝐶) ↔ (𝐵 × 𝐶) = ∅) | 
| 12 | 10, 11 | bitrdi 287 | . . . . . . 7
⊢ (𝐴 = ∅ → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ (𝐵 × 𝐶) = ∅)) | 
| 13 | 12 | adantr 480 | . . . . . 6
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ (𝐵 × 𝐶) = ∅)) | 
| 14 |  | df-ne 2940 | . . . . . . . 8
⊢ (𝐶 ≠ ∅ ↔ ¬ 𝐶 = ∅) | 
| 15 |  | xpeq0 6179 | . . . . . . . . 9
⊢ ((𝐵 × 𝐶) = ∅ ↔ (𝐵 = ∅ ∨ 𝐶 = ∅)) | 
| 16 |  | orel2 890 | . . . . . . . . 9
⊢ (¬
𝐶 = ∅ → ((𝐵 = ∅ ∨ 𝐶 = ∅) → 𝐵 = ∅)) | 
| 17 | 15, 16 | biimtrid 242 | . . . . . . . 8
⊢ (¬
𝐶 = ∅ → ((𝐵 × 𝐶) = ∅ → 𝐵 = ∅)) | 
| 18 | 14, 17 | sylbi 217 | . . . . . . 7
⊢ (𝐶 ≠ ∅ → ((𝐵 × 𝐶) = ∅ → 𝐵 = ∅)) | 
| 19 | 18 | adantl 481 | . . . . . 6
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → ((𝐵 × 𝐶) = ∅ → 𝐵 = ∅)) | 
| 20 | 13, 19 | sylbid 240 | . . . . 5
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) → 𝐵 = ∅)) | 
| 21 |  | eqtr3 2762 | . . . . 5
⊢ ((𝐴 = ∅ ∧ 𝐵 = ∅) → 𝐴 = 𝐵) | 
| 22 | 6, 20, 21 | syl6an 684 | . . . 4
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) → 𝐴 = 𝐵)) | 
| 23 |  | xpeq1 5698 | . . . 4
⊢ (𝐴 = 𝐵 → (𝐴 × 𝐶) = (𝐵 × 𝐶)) | 
| 24 | 22, 23 | impbid1 225 | . . 3
⊢ ((𝐴 = ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ 𝐴 = 𝐵)) | 
| 25 | 5, 24 | sylanb 581 | . 2
⊢ ((¬
𝐴 ≠ ∅ ∧ 𝐶 ≠ ∅) → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ 𝐴 = 𝐵)) | 
| 26 | 4, 25 | pm2.61ian 811 | 1
⊢ (𝐶 ≠ ∅ → ((𝐴 × 𝐶) = (𝐵 × 𝐶) ↔ 𝐴 = 𝐵)) |