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 |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ∪ ∪ ( 𝐴 × 𝐵 ) = ( 𝐴 ∪ 𝐵 ) ) |