Metamath Proof Explorer


Theorem sbabel

Description: Theorem to move a substitution in and out of a class abstraction. (Contributed by NM, 27-Sep-2003) (Revised by Mario Carneiro, 7-Oct-2016) (Proof shortened by Wolf Lammen, 26-Dec-2019)

Ref Expression
Hypothesis sbabel.1
|- F/_ x A
Assertion sbabel
|- ( [ y / x ] { z | ph } e. A <-> { z | [ y / x ] ph } e. A )

Proof

Step Hyp Ref Expression
1 sbabel.1
 |-  F/_ x A
2 sbex
 |-  ( [ y / x ] E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> E. v [ y / x ] ( v e. A /\ A. z ( z e. v <-> ph ) ) )
3 sban
 |-  ( [ y / x ] ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> ( [ y / x ] v e. A /\ [ y / x ] A. z ( z e. v <-> ph ) ) )
4 1 nfcri
 |-  F/ x v e. A
5 4 sbf
 |-  ( [ y / x ] v e. A <-> v e. A )
6 nfv
 |-  F/ x z e. v
7 6 sbf
 |-  ( [ y / x ] z e. v <-> z e. v )
8 7 sbrbis
 |-  ( [ y / x ] ( z e. v <-> ph ) <-> ( z e. v <-> [ y / x ] ph ) )
9 8 sbalv
 |-  ( [ y / x ] A. z ( z e. v <-> ph ) <-> A. z ( z e. v <-> [ y / x ] ph ) )
10 5 9 anbi12i
 |-  ( ( [ y / x ] v e. A /\ [ y / x ] A. z ( z e. v <-> ph ) ) <-> ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
11 3 10 bitri
 |-  ( [ y / x ] ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
12 11 exbii
 |-  ( E. v [ y / x ] ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> E. v ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
13 2 12 bitri
 |-  ( [ y / x ] E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> E. v ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
14 clabel
 |-  ( { z | ph } e. A <-> E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) )
15 14 sbbii
 |-  ( [ y / x ] { z | ph } e. A <-> [ y / x ] E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) )
16 clabel
 |-  ( { z | [ y / x ] ph } e. A <-> E. v ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
17 13 15 16 3bitr4i
 |-  ( [ y / x ] { z | ph } e. A <-> { z | [ y / x ] ph } e. A )