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

Theorem sbabel 2445
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 2067 . . 3  |-  ( [ y  /  x ] E. v ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v [ y  /  x ] ( v  =  { z  |  ph }  /\  v  e.  A )
)
2 sban 2009 . . . . 5  |-  ( [ y  /  x ]
( v  =  {
z  |  ph }  /\  v  e.  A
)  <->  ( [ y  /  x ] v  =  { z  | 
ph }  /\  [
y  /  x ]
v  e.  A ) )
3 nfv 1605 . . . . . . . . . 10  |-  F/ x  z  e.  v
43sbf 1966 . . . . . . . . 9  |-  ( [ y  /  x ]
z  e.  v  <->  z  e.  v )
54sbrbis 2013 . . . . . . . 8  |-  ( [ y  /  x ]
( z  e.  v  <->  ph )  <->  ( z  e.  v  <->  [ y  /  x ] ph ) )
65sbalv 2068 . . . . . . 7  |-  ( [ y  /  x ] A. z ( z  e.  v  <->  ph )  <->  A. z
( z  e.  v  <->  [ y  /  x ] ph ) )
7 abeq2 2388 . . . . . . . 8  |-  ( v  =  { z  | 
ph }  <->  A. z
( z  e.  v  <->  ph ) )
87sbbii 1634 . . . . . . 7  |-  ( [ y  /  x ]
v  =  { z  |  ph }  <->  [ y  /  x ] A. z
( z  e.  v  <->  ph ) )
9 abeq2 2388 . . . . . . 7  |-  ( v  =  { z  |  [ y  /  x ] ph }  <->  A. z
( z  e.  v  <->  [ y  /  x ] ph ) )
106, 8, 93bitr4i 268 . . . . . 6  |-  ( [ y  /  x ]
v  =  { z  |  ph }  <->  v  =  { z  |  [
y  /  x ] ph } )
11 sbabel.1 . . . . . . . 8  |-  F/_ x A
1211nfcri 2413 . . . . . . 7  |-  F/ x  v  e.  A
1312sbf 1966 . . . . . 6  |-  ( [ y  /  x ]
v  e.  A  <->  v  e.  A )
1410, 13anbi12i 678 . . . . 5  |-  ( ( [ y  /  x ] v  =  {
z  |  ph }  /\  [ y  /  x ] v  e.  A
)  <->  ( v  =  { z  |  [
y  /  x ] ph }  /\  v  e.  A ) )
152, 14bitri 240 . . . 4  |-  ( [ y  /  x ]
( v  =  {
z  |  ph }  /\  v  e.  A
)  <->  ( v  =  { z  |  [
y  /  x ] ph }  /\  v  e.  A ) )
1615exbii 1569 . . 3  |-  ( E. v [ y  /  x ] ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v ( v  =  { z  |  [ y  /  x ] ph }  /\  v  e.  A ) )
171, 16bitri 240 . 2  |-  ( [ y  /  x ] E. v ( v  =  { z  |  ph }  /\  v  e.  A
)  <->  E. v ( v  =  { z  |  [ y  /  x ] ph }  /\  v  e.  A ) )
18 df-clel 2279 . . 3  |-  ( { z  |  ph }  e.  A  <->  E. v ( v  =  { z  | 
ph }  /\  v  e.  A ) )
1918sbbii 1634 . 2  |-  ( [ y  /  x ] { z  |  ph }  e.  A  <->  [ y  /  x ] E. v
( v  =  {
z  |  ph }  /\  v  e.  A
) )
20 df-clel 2279 . 2  |-  ( { z  |  [ y  /  x ] ph }  e.  A  <->  E. v
( v  =  {
z  |  [ y  /  x ] ph }  /\  v  e.  A
) )
2117, 19, 203bitr4i 268 1  |-  ( [ y  /  x ] { z  |  ph }  e.  A  <->  { z  |  [ y  /  x ] ph }  e.  A
)
Colors of variables: wff set class
Syntax hints:    <-> wb 176    /\ wa 358   A.wal 1527   E.wex 1528    = wceq 1623   [wsb 1629    e. wcel 1684   {cab 2269   F/_wnfc 2406
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408
  Copyright terms: Public domain W3C validator