MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  sbabel Structured version   Unicode version

Theorem sbabel 2598
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.)
Hypothesis
Ref Expression
sbabel.1  |-  F/_ x A
Assertion
Ref Expression
sbabel  |-  ( [ y  /  x ] { z  |  ph }  e.  A  <->  { z  |  [ y  /  x ] ph }  e.  A
)
Distinct variable groups:    x, z    y, z
Allowed substitution hints:    ph( x, y, z)    A( x, y, z)

Proof of Theorem sbabel
Dummy variable  v is distinct from all other variables.
StepHypRef Expression
1 sbex 2205 . . 3  |-  ( [ y  /  x ] E. v ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v [ y  /  x ] ( v  =  { z  |  ph }  /\  v  e.  A )
)
2 sban 2139 . . . . 5  |-  ( [ y  /  x ]
( v  =  {
z  |  ph }  /\  v  e.  A
)  <->  ( [ y  /  x ] v  =  { z  | 
ph }  /\  [
y  /  x ]
v  e.  A ) )
3 nfv 1629 . . . . . . . . . 10  |-  F/ x  z  e.  v
43sbf 2117 . . . . . . . . 9  |-  ( [ y  /  x ]
z  e.  v  <->  z  e.  v )
54sbrbis 2145 . . . . . . . 8  |-  ( [ y  /  x ]
( z  e.  v  <->  ph )  <->  ( z  e.  v  <->  [ y  /  x ] ph ) )
65sbalv 2206 . . . . . . 7  |-  ( [ y  /  x ] A. z ( z  e.  v  <->  ph )  <->  A. z
( z  e.  v  <->  [ y  /  x ] ph ) )
7 abeq2 2541 . . . . . . . 8  |-  ( v  =  { z  | 
ph }  <->  A. z
( z  e.  v  <->  ph ) )
87sbbii 1665 . . . . . . 7  |-  ( [ y  /  x ]
v  =  { z  |  ph }  <->  [ y  /  x ] A. z
( z  e.  v  <->  ph ) )
9 abeq2 2541 . . . . . . 7  |-  ( v  =  { z  |  [ y  /  x ] ph }  <->  A. z
( z  e.  v  <->  [ y  /  x ] ph ) )
106, 8, 93bitr4i 269 . . . . . 6  |-  ( [ y  /  x ]
v  =  { z  |  ph }  <->  v  =  { z  |  [
y  /  x ] ph } )
11 sbabel.1 . . . . . . . 8  |-  F/_ x A
1211nfcri 2566 . . . . . . 7  |-  F/ x  v  e.  A
1312sbf 2117 . . . . . 6  |-  ( [ y  /  x ]
v  e.  A  <->  v  e.  A )
1410, 13anbi12i 679 . . . . 5  |-  ( ( [ y  /  x ] v  =  {
z  |  ph }  /\  [ y  /  x ] v  e.  A
)  <->  ( v  =  { z  |  [
y  /  x ] ph }  /\  v  e.  A ) )
152, 14bitri 241 . . . 4  |-  ( [ y  /  x ]
( v  =  {
z  |  ph }  /\  v  e.  A
)  <->  ( v  =  { z  |  [
y  /  x ] ph }  /\  v  e.  A ) )
1615exbii 1592 . . 3  |-  ( E. v [ y  /  x ] ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v ( v  =  { z  |  [ y  /  x ] ph }  /\  v  e.  A ) )
171, 16bitri 241 . 2  |-  ( [ y  /  x ] E. v ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v ( v  =  { z  |  [ y  /  x ] ph }  /\  v  e.  A ) )
18 df-clel 2432 . . 3  |-  ( { z  |  ph }  e.  A  <->  E. v ( v  =  { z  | 
ph }  /\  v  e.  A ) )
1918sbbii 1665 . 2  |-  ( [ y  /  x ] { z  |  ph }  e.  A  <->  [ y  /  x ] E. v
( v  =  {
z  |  ph }  /\  v  e.  A
) )
20 df-clel 2432 . 2  |-  ( { z  |  [ y  /  x ] ph }  e.  A  <->  E. v
( v  =  {
z  |  [ y  /  x ] ph }  /\  v  e.  A
) )
2117, 19, 203bitr4i 269 1  |-  ( [ y  /  x ] { z  |  ph }  e.  A  <->  { z  |  [ y  /  x ] ph }  e.  A
)
Colors of variables: wff set class
Syntax hints:    <-> wb 177    /\ wa 359   A.wal 1549   E.wex 1550    = wceq 1652   [wsb 1658    e. wcel 1725   {cab 2422   F/_wnfc 2559
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2417
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561
  Copyright terms: Public domain W3C validator