Metamath Proof Explorer


Theorem xpundir

Description: Distributive law for Cartesian product over union. Similar to Theorem 103 of Suppes p. 52. (Contributed by NM, 30-Sep-2002)

Ref Expression
Assertion xpundir ( ( 𝐴𝐵 ) × 𝐶 ) = ( ( 𝐴 × 𝐶 ) ∪ ( 𝐵 × 𝐶 ) )

Proof

Step Hyp Ref Expression
1 df-xp ( ( 𝐴𝐵 ) × 𝐶 ) = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) }
2 df-xp ( 𝐴 × 𝐶 ) = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐴𝑦𝐶 ) }
3 df-xp ( 𝐵 × 𝐶 ) = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐵𝑦𝐶 ) }
4 2 3 uneq12i ( ( 𝐴 × 𝐶 ) ∪ ( 𝐵 × 𝐶 ) ) = ( { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐴𝑦𝐶 ) } ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐵𝑦𝐶 ) } )
5 elun ( 𝑥 ∈ ( 𝐴𝐵 ) ↔ ( 𝑥𝐴𝑥𝐵 ) )
6 5 anbi1i ( ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) ↔ ( ( 𝑥𝐴𝑥𝐵 ) ∧ 𝑦𝐶 ) )
7 andir ( ( ( 𝑥𝐴𝑥𝐵 ) ∧ 𝑦𝐶 ) ↔ ( ( 𝑥𝐴𝑦𝐶 ) ∨ ( 𝑥𝐵𝑦𝐶 ) ) )
8 6 7 bitri ( ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) ↔ ( ( 𝑥𝐴𝑦𝐶 ) ∨ ( 𝑥𝐵𝑦𝐶 ) ) )
9 8 opabbii { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) } = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐶 ) ∨ ( 𝑥𝐵𝑦𝐶 ) ) }
10 unopab ( { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐴𝑦𝐶 ) } ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐵𝑦𝐶 ) } ) = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐶 ) ∨ ( 𝑥𝐵𝑦𝐶 ) ) }
11 9 10 eqtr4i { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) } = ( { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐴𝑦𝐶 ) } ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥𝐵𝑦𝐶 ) } )
12 4 11 eqtr4i ( ( 𝐴 × 𝐶 ) ∪ ( 𝐵 × 𝐶 ) ) = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( 𝑥 ∈ ( 𝐴𝐵 ) ∧ 𝑦𝐶 ) }
13 1 12 eqtr4i ( ( 𝐴𝐵 ) × 𝐶 ) = ( ( 𝐴 × 𝐶 ) ∪ ( 𝐵 × 𝐶 ) )