Step |
Hyp |
Ref |
Expression |
1 |
|
dfcleq |
|- ( { x | ph } = { x | ps } <-> A. y ( y e. { x | ph } <-> y e. { x | ps } ) ) |
2 |
|
nfsab1 |
|- F/ x y e. { x | ph } |
3 |
|
nfsab1 |
|- F/ x y e. { x | ps } |
4 |
2 3
|
nfbi |
|- F/ x ( y e. { x | ph } <-> y e. { x | ps } ) |
5 |
|
nfv |
|- F/ y ( ph <-> ps ) |
6 |
|
df-clab |
|- ( y e. { x | ph } <-> [ y / x ] ph ) |
7 |
|
sbequ12r |
|- ( y = x -> ( [ y / x ] ph <-> ph ) ) |
8 |
6 7
|
syl5bb |
|- ( y = x -> ( y e. { x | ph } <-> ph ) ) |
9 |
|
df-clab |
|- ( y e. { x | ps } <-> [ y / x ] ps ) |
10 |
|
sbequ12r |
|- ( y = x -> ( [ y / x ] ps <-> ps ) ) |
11 |
9 10
|
syl5bb |
|- ( y = x -> ( y e. { x | ps } <-> ps ) ) |
12 |
8 11
|
bibi12d |
|- ( y = x -> ( ( y e. { x | ph } <-> y e. { x | ps } ) <-> ( ph <-> ps ) ) ) |
13 |
4 5 12
|
cbvalv1 |
|- ( A. y ( y e. { x | ph } <-> y e. { x | ps } ) <-> A. x ( ph <-> ps ) ) |
14 |
1 13
|
bitr2i |
|- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) |