Metamath Proof Explorer


Theorem abbi

Description: Equivalent formulas define equal class abstractions, and conversely. (Contributed by NM, 25-Nov-2013) (Revised by Mario Carneiro, 11-Aug-2016) Remove dependency on ax-8 and df-clel (by avoiding use of cleqh ). (Revised by BJ, 23-Jun-2019)

Ref Expression
Assertion abbi
|- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } )

Proof

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 bitrid
 |-  ( 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 bitrid
 |-  ( 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 } )