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