Metamath Proof Explorer


Theorem cbvopab1s

Description: Change first bound variable in an ordered-pair class abstraction, using explicit substitution. (Contributed by NM, 31-Jul-2003)

Ref Expression
Assertion cbvopab1s
|- { <. x , y >. | ph } = { <. z , y >. | [ z / x ] ph }

Proof

Step Hyp Ref Expression
1 nfv
 |-  F/ z E. y ( w = <. x , y >. /\ ph )
2 nfv
 |-  F/ x w = <. z , y >.
3 nfs1v
 |-  F/ x [ z / x ] ph
4 2 3 nfan
 |-  F/ x ( w = <. z , y >. /\ [ z / x ] ph )
5 4 nfex
 |-  F/ x E. y ( w = <. z , y >. /\ [ z / x ] ph )
6 opeq1
 |-  ( x = z -> <. x , y >. = <. z , y >. )
7 6 eqeq2d
 |-  ( x = z -> ( w = <. x , y >. <-> w = <. z , y >. ) )
8 sbequ12
 |-  ( x = z -> ( ph <-> [ z / x ] ph ) )
9 7 8 anbi12d
 |-  ( x = z -> ( ( w = <. x , y >. /\ ph ) <-> ( w = <. z , y >. /\ [ z / x ] ph ) ) )
10 9 exbidv
 |-  ( x = z -> ( E. y ( w = <. x , y >. /\ ph ) <-> E. y ( w = <. z , y >. /\ [ z / x ] ph ) ) )
11 1 5 10 cbvexv1
 |-  ( E. x E. y ( w = <. x , y >. /\ ph ) <-> E. z E. y ( w = <. z , y >. /\ [ z / x ] ph ) )
12 11 abbii
 |-  { w | E. x E. y ( w = <. x , y >. /\ ph ) } = { w | E. z E. y ( w = <. z , y >. /\ [ z / x ] ph ) }
13 df-opab
 |-  { <. x , y >. | ph } = { w | E. x E. y ( w = <. x , y >. /\ ph ) }
14 df-opab
 |-  { <. z , y >. | [ z / x ] ph } = { w | E. z E. y ( w = <. z , y >. /\ [ z / x ] ph ) }
15 12 13 14 3eqtr4i
 |-  { <. x , y >. | ph } = { <. z , y >. | [ z / x ] ph }