This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Difference of Cartesian products, expressed in terms of a union of Cartesian products of differences. (Contributed by Jeff Madsen, 2-Sep-2009) (Revised by Mario Carneiro, 26-Jun-2014) (Proof shortened by Wolf Lammen, 16-May-2025)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | difxp | ⊢ ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) = ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | difss | ⊢ ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) ⊆ ( 𝐶 × 𝐷 ) | |
| 2 | relxp | ⊢ Rel ( 𝐶 × 𝐷 ) | |
| 3 | relss | ⊢ ( ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) ⊆ ( 𝐶 × 𝐷 ) → ( Rel ( 𝐶 × 𝐷 ) → Rel ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) ) ) | |
| 4 | 1 2 3 | mp2 | ⊢ Rel ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) |
| 5 | relxp | ⊢ Rel ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) | |
| 6 | relxp | ⊢ Rel ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) | |
| 7 | relun | ⊢ ( Rel ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ↔ ( Rel ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∧ Rel ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ) | |
| 8 | 5 6 7 | mpbir2an | ⊢ Rel ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) |
| 9 | ianor | ⊢ ( ¬ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ↔ ( ¬ 𝑥 ∈ 𝐴 ∨ ¬ 𝑦 ∈ 𝐵 ) ) | |
| 10 | 9 | anbi2i | ⊢ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ( ¬ 𝑥 ∈ 𝐴 ∨ ¬ 𝑦 ∈ 𝐵 ) ) ) |
| 11 | andi | ⊢ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ( ¬ 𝑥 ∈ 𝐴 ∨ ¬ 𝑦 ∈ 𝐵 ) ) ↔ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑥 ∈ 𝐴 ) ∨ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑦 ∈ 𝐵 ) ) ) | |
| 12 | 10 11 | bitri | ⊢ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) ↔ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑥 ∈ 𝐴 ) ∨ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑦 ∈ 𝐵 ) ) ) |
| 13 | opelxp | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × 𝐷 ) ↔ ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ) | |
| 14 | opelxp | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ↔ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) | |
| 15 | 14 | notbii | ⊢ ( ¬ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ↔ ¬ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) |
| 16 | 13 15 | anbi12i | ⊢ ( ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × 𝐷 ) ∧ ¬ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) ) |
| 17 | opelxp | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ↔ ( 𝑥 ∈ ( 𝐶 ∖ 𝐴 ) ∧ 𝑦 ∈ 𝐷 ) ) | |
| 18 | eldif | ⊢ ( 𝑥 ∈ ( 𝐶 ∖ 𝐴 ) ↔ ( 𝑥 ∈ 𝐶 ∧ ¬ 𝑥 ∈ 𝐴 ) ) | |
| 19 | 18 | anbi1i | ⊢ ( ( 𝑥 ∈ ( 𝐶 ∖ 𝐴 ) ∧ 𝑦 ∈ 𝐷 ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ ¬ 𝑥 ∈ 𝐴 ) ∧ 𝑦 ∈ 𝐷 ) ) |
| 20 | an32 | ⊢ ( ( ( 𝑥 ∈ 𝐶 ∧ ¬ 𝑥 ∈ 𝐴 ) ∧ 𝑦 ∈ 𝐷 ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑥 ∈ 𝐴 ) ) | |
| 21 | 17 19 20 | 3bitri | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑥 ∈ 𝐴 ) ) |
| 22 | eldif | ⊢ ( 𝑦 ∈ ( 𝐷 ∖ 𝐵 ) ↔ ( 𝑦 ∈ 𝐷 ∧ ¬ 𝑦 ∈ 𝐵 ) ) | |
| 23 | 22 | anbi2i | ⊢ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ ( 𝐷 ∖ 𝐵 ) ) ↔ ( 𝑥 ∈ 𝐶 ∧ ( 𝑦 ∈ 𝐷 ∧ ¬ 𝑦 ∈ 𝐵 ) ) ) |
| 24 | opelxp | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ↔ ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ ( 𝐷 ∖ 𝐵 ) ) ) | |
| 25 | anass | ⊢ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑦 ∈ 𝐵 ) ↔ ( 𝑥 ∈ 𝐶 ∧ ( 𝑦 ∈ 𝐷 ∧ ¬ 𝑦 ∈ 𝐵 ) ) ) | |
| 26 | 23 24 25 | 3bitr4i | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ↔ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑦 ∈ 𝐵 ) ) |
| 27 | 21 26 | orbi12i | ⊢ ( ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∨ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ↔ ( ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑥 ∈ 𝐴 ) ∨ ( ( 𝑥 ∈ 𝐶 ∧ 𝑦 ∈ 𝐷 ) ∧ ¬ 𝑦 ∈ 𝐵 ) ) ) |
| 28 | 12 16 27 | 3bitr4i | ⊢ ( ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × 𝐷 ) ∧ ¬ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ) ↔ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∨ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ) |
| 29 | eldif | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) ↔ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × 𝐷 ) ∧ ¬ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ) ) | |
| 30 | elun | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ↔ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∨ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ) | |
| 31 | 28 29 30 | 3bitr4i | ⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) ↔ 〈 𝑥 , 𝑦 〉 ∈ ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) ) |
| 32 | 4 8 31 | eqrelriiv | ⊢ ( ( 𝐶 × 𝐷 ) ∖ ( 𝐴 × 𝐵 ) ) = ( ( ( 𝐶 ∖ 𝐴 ) × 𝐷 ) ∪ ( 𝐶 × ( 𝐷 ∖ 𝐵 ) ) ) |