Metamath Proof Explorer


Theorem elabgt

Description: Membership in a class abstraction, using implicit substitution. (Closed theorem version of elabg .) (Contributed by NM, 7-Nov-2005) (Proof shortened by Andrew Salmon, 8-Jun-2011)

Ref Expression
Assertion elabgt
|- ( ( A e. B /\ A. x ( x = A -> ( ph <-> ps ) ) ) -> ( A e. { x | ph } <-> ps ) )

Proof

Step Hyp Ref Expression
1 nfcv
 |-  F/_ x A
2 nfab1
 |-  F/_ x { x | ph }
3 2 nfel2
 |-  F/ x A e. { x | ph }
4 nfv
 |-  F/ x ps
5 3 4 nfbi
 |-  F/ x ( A e. { x | ph } <-> ps )
6 pm5.5
 |-  ( x = A -> ( ( x = A -> ( A e. { x | ph } <-> ps ) ) <-> ( A e. { x | ph } <-> ps ) ) )
7 1 5 6 spcgf
 |-  ( A e. B -> ( A. x ( x = A -> ( A e. { x | ph } <-> ps ) ) -> ( A e. { x | ph } <-> ps ) ) )
8 abid
 |-  ( x e. { x | ph } <-> ph )
9 eleq1
 |-  ( x = A -> ( x e. { x | ph } <-> A e. { x | ph } ) )
10 8 9 bitr3id
 |-  ( x = A -> ( ph <-> A e. { x | ph } ) )
11 10 bibi1d
 |-  ( x = A -> ( ( ph <-> ps ) <-> ( A e. { x | ph } <-> ps ) ) )
12 11 biimpd
 |-  ( x = A -> ( ( ph <-> ps ) -> ( A e. { x | ph } <-> ps ) ) )
13 12 a2i
 |-  ( ( x = A -> ( ph <-> ps ) ) -> ( x = A -> ( A e. { x | ph } <-> ps ) ) )
14 13 alimi
 |-  ( A. x ( x = A -> ( ph <-> ps ) ) -> A. x ( x = A -> ( A e. { x | ph } <-> ps ) ) )
15 7 14 impel
 |-  ( ( A e. B /\ A. x ( x = A -> ( ph <-> ps ) ) ) -> ( A e. { x | ph } <-> ps ) )