| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cbvralcsf.1 |
|- F/_ y A |
| 2 |
|
cbvralcsf.2 |
|- F/_ x B |
| 3 |
|
cbvralcsf.3 |
|- F/ y ph |
| 4 |
|
cbvralcsf.4 |
|- F/ x ps |
| 5 |
|
cbvralcsf.5 |
|- ( x = y -> A = B ) |
| 6 |
|
cbvralcsf.6 |
|- ( x = y -> ( ph <-> ps ) ) |
| 7 |
|
nfv |
|- F/ z ( x e. A /\ ph ) |
| 8 |
|
nfcsb1v |
|- F/_ x [_ z / x ]_ A |
| 9 |
8
|
nfcri |
|- F/ x z e. [_ z / x ]_ A |
| 10 |
|
nfs1v |
|- F/ x [ z / x ] ph |
| 11 |
9 10
|
nfan |
|- F/ x ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) |
| 12 |
|
id |
|- ( x = z -> x = z ) |
| 13 |
|
csbeq1a |
|- ( x = z -> A = [_ z / x ]_ A ) |
| 14 |
12 13
|
eleq12d |
|- ( x = z -> ( x e. A <-> z e. [_ z / x ]_ A ) ) |
| 15 |
|
sbequ12 |
|- ( x = z -> ( ph <-> [ z / x ] ph ) ) |
| 16 |
14 15
|
anbi12d |
|- ( x = z -> ( ( x e. A /\ ph ) <-> ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) ) ) |
| 17 |
7 11 16
|
cbvab |
|- { x | ( x e. A /\ ph ) } = { z | ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) } |
| 18 |
|
nfcv |
|- F/_ y z |
| 19 |
18 1
|
nfcsb |
|- F/_ y [_ z / x ]_ A |
| 20 |
19
|
nfcri |
|- F/ y z e. [_ z / x ]_ A |
| 21 |
3
|
nfsb |
|- F/ y [ z / x ] ph |
| 22 |
20 21
|
nfan |
|- F/ y ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) |
| 23 |
|
nfv |
|- F/ z ( y e. B /\ ps ) |
| 24 |
|
id |
|- ( z = y -> z = y ) |
| 25 |
|
csbeq1 |
|- ( z = y -> [_ z / x ]_ A = [_ y / x ]_ A ) |
| 26 |
|
df-csb |
|- [_ y / x ]_ A = { v | [. y / x ]. v e. A } |
| 27 |
2
|
nfcri |
|- F/ x v e. B |
| 28 |
5
|
eleq2d |
|- ( x = y -> ( v e. A <-> v e. B ) ) |
| 29 |
27 28
|
sbie |
|- ( [ y / x ] v e. A <-> v e. B ) |
| 30 |
|
sbsbc |
|- ( [ y / x ] v e. A <-> [. y / x ]. v e. A ) |
| 31 |
29 30
|
bitr3i |
|- ( v e. B <-> [. y / x ]. v e. A ) |
| 32 |
31
|
eqabi |
|- B = { v | [. y / x ]. v e. A } |
| 33 |
26 32
|
eqtr4i |
|- [_ y / x ]_ A = B |
| 34 |
25 33
|
eqtrdi |
|- ( z = y -> [_ z / x ]_ A = B ) |
| 35 |
24 34
|
eleq12d |
|- ( z = y -> ( z e. [_ z / x ]_ A <-> y e. B ) ) |
| 36 |
|
sbequ |
|- ( z = y -> ( [ z / x ] ph <-> [ y / x ] ph ) ) |
| 37 |
4 6
|
sbie |
|- ( [ y / x ] ph <-> ps ) |
| 38 |
36 37
|
bitrdi |
|- ( z = y -> ( [ z / x ] ph <-> ps ) ) |
| 39 |
35 38
|
anbi12d |
|- ( z = y -> ( ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) <-> ( y e. B /\ ps ) ) ) |
| 40 |
22 23 39
|
cbvab |
|- { z | ( z e. [_ z / x ]_ A /\ [ z / x ] ph ) } = { y | ( y e. B /\ ps ) } |
| 41 |
17 40
|
eqtri |
|- { x | ( x e. A /\ ph ) } = { y | ( y e. B /\ ps ) } |
| 42 |
|
df-rab |
|- { x e. A | ph } = { x | ( x e. A /\ ph ) } |
| 43 |
|
df-rab |
|- { y e. B | ps } = { y | ( y e. B /\ ps ) } |
| 44 |
41 42 43
|
3eqtr4i |
|- { x e. A | ph } = { y e. B | ps } |