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

Theorem dfopab2 5053
Description: A way to define an ordered-pair class abstraction without using existential quantifiers.
Assertion
Ref Expression
dfopab2 |- {<.x, y>. | ph} = {z | (z e. (_V X. _V) /\ [(1st` z) / x][(2nd` z) / y]ph)}
Distinct variable groups:   ph,z   x,y,z

Proof of Theorem dfopab2
StepHypRef Expression
1 df-opab 3396 . 2 |- {<.x, y>. | ph} = {z | E.xE.y(z = <.x, y>. /\ ph)}
2 fvex 4689 . . . . . 6 |- (1st` z) e. _V
32hbsbc1v 2464 . . . . 5 |- ([(1st` z) / x][(2nd` z) / y]ph -> A.x[(1st` z) / x][(2nd` z) / y]ph)
4319.41 1448 . . . 4 |- (E.x(E.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph) <-> (E.xE.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
5 fveq2 4681 . . . . . . . . . . 11 |- (z = <.x, y>. -> (2nd` z) = (2nd` <.x, y>.))
6 visset 2295 . . . . . . . . . . . 12 |- x e. _V
7 visset 2295 . . . . . . . . . . . 12 |- y e. _V
86, 7op2nd 5027 . . . . . . . . . . 11 |- (2nd` <.x, y>.) = y
95, 8syl6req 1945 . . . . . . . . . 10 |- (z = <.x, y>. -> y = (2nd`
z))
10 sbceq1a 2456 . . . . . . . . . 10 |- (y = (2nd`
z) -> (ph <-> [(2nd` z) / y]ph))
119, 10syl 12 . . . . . . . . 9 |- (z = <.x, y>. -> (ph <-> [(2nd` z) / y]ph))
12 fveq2 4681 . . . . . . . . . . 11 |- (z = <.x, y>. -> (1st` z) = (1st` <.x, y>.))
136op1st 5026 . . . . . . . . . . 11 |- (1st` <.x, y>.) = x
1412, 13syl6req 1945 . . . . . . . . . 10 |- (z = <.x, y>. -> x = (1st`
z))
15 sbceq1a 2456 . . . . . . . . . 10 |- (x = (1st`
z) -> ([(2nd`
z) / y]ph <-> [(1st` z) / x][(2nd` z) / y]ph))
1614, 15syl 12 . . . . . . . . 9 |- (z = <.x, y>. -> ([(2nd` z) / y]ph <-> [(1st` z) / x][(2nd`
z) / y]ph))
1711, 16bitrd 587 . . . . . . . 8 |- (z = <.x, y>. -> (ph <-> [(1st` z) / x][(2nd`
z) / y]ph))
1817pm5.32i 707 . . . . . . 7 |- ((z = <.x, y>. /\ ph) <-> (z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
1918exbii 1398 . . . . . 6 |- (E.y(z = <.x, y>. /\ ph) <-> E.y(z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
20 ax-17 1317 . . . . . . . . 9 |- (x e. (1st` z) -> A.y x e. (1st` z))
21 fvex 4689 . . . . . . . . . 10 |- (2nd` z) e. _V
2221hbsbc1v 2464 . . . . . . . . 9 |- ([(2nd` z) / y]ph -> A.y[(2nd` z) / y]ph)
2320, 22hbsbcg 2466 . . . . . . . 8 |- ((1st` z) e. _V -> ([(1st` z) / x][(2nd` z) / y]ph -> A.y[(1st` z) / x][(2nd` z) / y]ph))
242, 23ax-mp 7 . . . . . . 7 |- ([(1st` z) / x][(2nd` z) / y]ph -> A.y[(1st` z) / x][(2nd` z) / y]ph)
252419.41 1448 . . . . . 6 |- (E.y(z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph) <-> (E.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
2619, 25bitri 190 . . . . 5 |- (E.y(z = <.x, y>. /\ ph) <-> (E.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
2726exbii 1398 . . . 4 |- (E.xE.y(z = <.x, y>. /\ ph) <-> E.x(E.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
28 elvv 4053 . . . . 5 |- (z e. (_V X. _V) <-> E.xE.y z = <.x, y>.)
2928anbi1i 539 . . . 4 |- ((z e. (_V X. _V) /\ [(1st`
z) / x][(2nd`
z) / y]ph) <-> (E.xE.y z = <.x, y>. /\ [(1st` z) / x][(2nd` z) / y]ph))
304, 27, 293bitr4i 200 . . 3 |- (E.xE.y(z = <.x, y>. /\ ph) <-> (z e. (_V X. _V) /\ [(1st` z) / x][(2nd` z) / y]ph))
3130abbii 2006 . 2 |- {z | E.xE.y(z = <.x, y>. /\ ph)} = {z | (z e. (_V X. _V) /\ [(1st` z) / x][(2nd` z) / y]ph)}
321, 31eqtri 1908 1 |- {<.x, y>. | ph} = {z | (z e. (_V X. _V) /\ [(1st` z) / x][(2nd` z) / y]ph)}
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  _Vcvv 2292  <.cop 3046  {copab 3395   X. cxp 3984  ` cfv 3998  1stc1st 5018  2ndc2nd 5019
This theorem is referenced by:  fparlem1 5081  fparlem2 5082
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-13 1311  ax-14 1312  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  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-ral 2109  df-rex 2110  df-v 2294  df-sbc 2454  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-nul 2876  df-pw 3035  df-sn 3049  df-pr 3050  df-op 3053  df-uni 3178  df-br 3339  df-opab 3396  df-id 3586  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fv 4014  df-1st 5020  df-2nd 5021
Copyright terms: Public domain