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, 28-Oct-2024)

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 clabel
 |-  ( { z | ph } e. A <-> E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) )
3 2 sbbii
 |-  ( [ y / x ] { z | ph } e. A <-> [ y / x ] E. v ( v e. A /\ A. z ( z e. v <-> ph ) ) )
4 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 ) ) )
5 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 ) ) )
6 1 nfcri
 |-  F/ x v e. A
7 6 sbf
 |-  ( [ y / x ] v e. A <-> v e. A )
8 sbv
 |-  ( [ y / x ] z e. v <-> z e. v )
9 8 sbrbis
 |-  ( [ y / x ] ( z e. v <-> ph ) <-> ( z e. v <-> [ y / x ] ph ) )
10 9 sbalv
 |-  ( [ y / x ] A. z ( z e. v <-> ph ) <-> A. z ( z e. v <-> [ y / x ] ph ) )
11 7 10 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 ) ) )
12 5 11 bitri
 |-  ( [ y / x ] ( v e. A /\ A. z ( z e. v <-> ph ) ) <-> ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
13 12 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 ) ) )
14 3 4 13 3bitri
 |-  ( [ y / x ] { z | ph } e. A <-> E. v ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
15 clabel
 |-  ( { z | [ y / x ] ph } e. A <-> E. v ( v e. A /\ A. z ( z e. v <-> [ y / x ] ph ) ) )
16 14 15 bitr4i
 |-  ( [ y / x ] { z | ph } e. A <-> { z | [ y / x ] ph } e. A )