HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem sbabel 2016
Description: Theorem to move a substitution in and out of a class abstraction. (Unnecessary distinct variable restrictions were removed by Andrew Salmon, 11-Jul-2011.)
Hypothesis
Ref Expression
sbabel.1 |- (w e. A -> A.x w e. A)
Assertion
Ref Expression
sbabel |- ([y / x]{z | ph} e. A <-> {z | [y / x]ph} e. A)
Distinct variable groups:   w,A   x,z   y,z

Proof of Theorem sbabel
StepHypRef Expression
1 sbex 1739 . . 3 |- ([y / x]E.v(v = {z | ph} /\ v e. A) <-> E.v[y / x](v = {z | ph} /\ v e. A))
2 sban 1607 . . . . 5 |- ([y / x](v = {z | ph} /\ v e. A) <-> ([y / x]v = {z | ph} /\ [y / x]v e. A))
3 sbal 1738 . . . . . . . 8 |- ([y / x]A.z(z e. v <-> ph) <-> A.z[y / x](z e. v <-> ph))
4 ax-17 1317 . . . . . . . . . . 11 |- (z e. v -> A.x z e. v)
54sbf 1551 . . . . . . . . . 10 |- ([y / x]z e. v <-> z e. v)
65sbrbis 1611 . . . . . . . . 9 |- ([y / x](z e. v <-> ph) <-> (z e. v <-> [y / x]ph))
76albii 1346 . . . . . . . 8 |- (A.z[y / x](z e. v <-> ph) <-> A.z(z e. v <-> [y / x]ph))
83, 7bitri 190 . . . . . . 7 |- ([y / x]A.z(z e. v <-> ph) <-> A.z(z e. v <-> [y / x]ph))
9 abeq2 1999 . . . . . . . 8 |- (v = {z | ph} <-> A.z(z e. v <-> ph))
109sbbii 1538 . . . . . . 7 |- ([y / x]v = {z | ph} <-> [y / x]A.z(z e. v <-> ph))
11 abeq2 1999 . . . . . . 7 |- (v = {z | [y / x]ph} <-> A.z(z e. v <-> [y / x]ph))
128, 10, 113bitr4i 200 . . . . . 6 |- ([y / x]v = {z | ph} <-> v = {z | [y / x]ph})
13 sbabel.1 . . . . . . . 8 |- (w e. A -> A.x w e. A)
1413hblem 1993 . . . . . . 7 |- (v e. A -> A.x v e. A)
1514sbf 1551 . . . . . 6 |- ([y / x]v e. A <-> v e. A)
1612, 15anbi12i 540 . . . . 5 |- (([y / x]v = {z | ph} /\ [y / x]v e. A) <-> (v = {z | [y / x]ph} /\ v e. A))
172, 16bitri 190 . . . 4 |- ([y / x](v = {z | ph} /\ v e. A) <-> (v = {z | [y / x]ph} /\ v e. A))
1817exbii 1398 . . 3 |- (E.v[y / x](v = {z | ph} /\ v e. A) <-> E.v(v = {z | [y / x]ph} /\ v e. A))
191, 18bitri 190 . 2 |- ([y / x]E.v(v = {z | ph} /\ v e. A) <-> E.v(v = {z | [y / x]ph} /\ v e. A))
20 df-clel 1880 . . 3 |- ({z | ph} e. A <-> E.v(v = {z | ph} /\ v e. A))
2120sbbii 1538 . 2 |- ([y / x]{z | ph} e. A <-> [y / x]E.v(v = {z | ph} /\ v e. A))
22 df-clel 1880 . 2 |- ({z | [y / x]ph} e. A <-> E.v(v = {z | [y / x]ph} /\ v e. A))
2319, 21, 223bitr4i 200 1 |- ([y / x]{z | ph} e. A <-> {z | [y / x]ph} e. A)
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240  A.wal 1296   = wceq 1298   e. wcel 1300  E.wex 1326  [wsbc 1534  {cab 1871
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-ex 1327  df-sb 1536  df-clab 1872  df-cleq 1877  df-clel 1880
Copyright terms: Public domain