Metamath Proof Explorer


Theorem csbxp

Description: Distribute proper substitution through the Cartesian product of two classes. (Contributed by Alan Sare, 10-Nov-2012) (Revised by NM, 23-Aug-2018)

Ref Expression
Assertion csbxp ⊢ ⦋ A / x⦌ B × C = ⦋ A / x⦌ B × ⦋ A / x⦌ C

Proof

Step Hyp Ref Expression
1 csbab ⊢ ⦋ A / x⦌ z | ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C = z | [˙A / x]˙ ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C
2 sbcex2 ⊢ [˙A / x]˙ ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ w [˙A / x]˙ ∃ y z = w y ∧ w ∈ B ∧ y ∈ C
3 sbcex2 ⊢ [˙A / x]˙ ∃ y z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ y [˙A / x]˙ z = w y ∧ w ∈ B ∧ y ∈ C
4 sbcan ⊢ [˙A / x]˙ z = w y ∧ w ∈ B ∧ y ∈ C ↔ [˙A / x]˙ z = w y ∧ [˙A / x]˙ w ∈ B ∧ y ∈ C
5 sbcg ⊢ A ∈ V → [˙A / x]˙ z = w y ↔ z = w y
6 sbcan ⊢ [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ [˙A / x]˙ w ∈ B ∧ [˙A / x]˙ y ∈ C
7 sbcel2 ⊢ [˙A / x]˙ w ∈ B ↔ w ∈ ⦋ A / x⦌ B
8 sbcel2 ⊢ [˙A / x]˙ y ∈ C ↔ y ∈ ⦋ A / x⦌ C
9 7 8 anbi12i ⊢ [˙A / x]˙ w ∈ B ∧ [˙A / x]˙ y ∈ C ↔ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
10 6 9 bitri ⊢ [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
11 10 a1i ⊢ A ∈ V → [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
12 5 11 anbi12d ⊢ A ∈ V → [˙A / x]˙ z = w y ∧ [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
13 sbcex ⊢ [˙A / x]˙ w ∈ B ∧ y ∈ C → A ∈ V
14 13 con3i ⊢ ¬ A ∈ V → ¬ [˙A / x]˙ w ∈ B ∧ y ∈ C
15 14 intnand ⊢ ¬ A ∈ V → ¬ [˙A / x]˙ z = w y ∧ [˙A / x]˙ w ∈ B ∧ y ∈ C
16 noel ⊢ ¬ y ∈ ∅
17 16 a1i ⊢ ¬ A ∈ V → ¬ y ∈ ∅
18 csbprc ⊢ ¬ A ∈ V → ⦋ A / x⦌ C = ∅
19 17 18 neleqtrrd ⊢ ¬ A ∈ V → ¬ y ∈ ⦋ A / x⦌ C
20 19 intnand ⊢ ¬ A ∈ V → ¬ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
21 20 intnand ⊢ ¬ A ∈ V → ¬ z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
22 15 21 2falsed ⊢ ¬ A ∈ V → [˙A / x]˙ z = w y ∧ [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
23 12 22 pm2.61i ⊢ [˙A / x]˙ z = w y ∧ [˙A / x]˙ w ∈ B ∧ y ∈ C ↔ z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
24 4 23 bitri ⊢ [˙A / x]˙ z = w y ∧ w ∈ B ∧ y ∈ C ↔ z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
25 24 exbii ⊢ ∃ y [˙A / x]˙ z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
26 3 25 bitri ⊢ [˙A / x]˙ ∃ y z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
27 26 exbii ⊢ ∃ w [˙A / x]˙ ∃ y z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
28 2 27 bitri ⊢ [˙A / x]˙ ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C ↔ ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
29 28 abbii ⊢ z | [˙A / x]˙ ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C = z | ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
30 1 29 eqtri ⊢ ⦋ A / x⦌ z | ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C = z | ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
31 df-xp ⊢ B × C = w y | w ∈ B ∧ y ∈ C
32 df-opab ⊢ w y | w ∈ B ∧ y ∈ C = z | ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C
33 31 32 eqtri ⊢ B × C = z | ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C
34 33 csbeq2i ⊢ ⦋ A / x⦌ B × C = ⦋ A / x⦌ z | ∃ w ∃ y z = w y ∧ w ∈ B ∧ y ∈ C
35 df-xp ⊢ ⦋ A / x⦌ B × ⦋ A / x⦌ C = w y | w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
36 df-opab ⊢ w y | w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C = z | ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
37 35 36 eqtri ⊢ ⦋ A / x⦌ B × ⦋ A / x⦌ C = z | ∃ w ∃ y z = w y ∧ w ∈ ⦋ A / x⦌ B ∧ y ∈ ⦋ A / x⦌ C
38 30 34 37 3eqtr4i ⊢ ⦋ A / x⦌ B × C = ⦋ A / x⦌ B × ⦋ A / x⦌ C