| Step |
Hyp |
Ref |
Expression |
| 1 |
|
relxp |
⊢ Rel ( 𝐴 × 𝐵 ) |
| 2 |
|
relfld |
⊢ ( Rel ( 𝐴 × 𝐵 ) → ∪ ∪ ( 𝐴 × 𝐵 ) = ( dom ( 𝐴 × 𝐵 ) ∪ ran ( 𝐴 × 𝐵 ) ) ) |
| 3 |
1 2
|
ax-mp |
⊢ ∪ ∪ ( 𝐴 × 𝐵 ) = ( dom ( 𝐴 × 𝐵 ) ∪ ran ( 𝐴 × 𝐵 ) ) |
| 4 |
|
xpeq2 |
⊢ ( 𝐵 = ∅ → ( 𝐴 × 𝐵 ) = ( 𝐴 × ∅ ) ) |
| 5 |
|
xp0 |
⊢ ( 𝐴 × ∅ ) = ∅ |
| 6 |
4 5
|
eqtrdi |
⊢ ( 𝐵 = ∅ → ( 𝐴 × 𝐵 ) = ∅ ) |
| 7 |
6
|
necon3i |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → 𝐵 ≠ ∅ ) |
| 8 |
|
xpeq1 |
⊢ ( 𝐴 = ∅ → ( 𝐴 × 𝐵 ) = ( ∅ × 𝐵 ) ) |
| 9 |
|
0xp |
⊢ ( ∅ × 𝐵 ) = ∅ |
| 10 |
8 9
|
eqtrdi |
⊢ ( 𝐴 = ∅ → ( 𝐴 × 𝐵 ) = ∅ ) |
| 11 |
10
|
necon3i |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → 𝐴 ≠ ∅ ) |
| 12 |
|
dmxp |
⊢ ( 𝐵 ≠ ∅ → dom ( 𝐴 × 𝐵 ) = 𝐴 ) |
| 13 |
|
rnxp |
⊢ ( 𝐴 ≠ ∅ → ran ( 𝐴 × 𝐵 ) = 𝐵 ) |
| 14 |
|
uneq12 |
⊢ ( ( dom ( 𝐴 × 𝐵 ) = 𝐴 ∧ ran ( 𝐴 × 𝐵 ) = 𝐵 ) → ( dom ( 𝐴 × 𝐵 ) ∪ ran ( 𝐴 × 𝐵 ) ) = ( 𝐴 ∪ 𝐵 ) ) |
| 15 |
12 13 14
|
syl2an |
⊢ ( ( 𝐵 ≠ ∅ ∧ 𝐴 ≠ ∅ ) → ( dom ( 𝐴 × 𝐵 ) ∪ ran ( 𝐴 × 𝐵 ) ) = ( 𝐴 ∪ 𝐵 ) ) |
| 16 |
7 11 15
|
syl2anc |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( dom ( 𝐴 × 𝐵 ) ∪ ran ( 𝐴 × 𝐵 ) ) = ( 𝐴 ∪ 𝐵 ) ) |
| 17 |
3 16
|
eqtrid |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ∪ ∪ ( 𝐴 × 𝐵 ) = ( 𝐴 ∪ 𝐵 ) ) |