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

Theorem oprabopabf 10157
Description: Convert between operator and function class abstractions using 1st and 2nd. (Contributed by Jeff Madsen, 2-Sep-2009.)
Hypotheses
Ref Expression
oprabopabf.1 |- (ps -> A.xps)
oprabopabf.2 |- (ch -> A.ych)
oprabopabf.3 |- (x = (1st`
w) -> (ph <-> ps))
oprabopabf.4 |- (y = (2nd`
w) -> (ps <-> ch))
Assertion
Ref Expression
oprabopabf |- {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ ph)} = {<.w, z>. | (w e. (A X. B) /\ ch)}
Distinct variable groups:   w,A,x,y,z   w,B,x,y,z   ph,w

Proof of Theorem oprabopabf
StepHypRef Expression
1 ax-17 1317 . . . . . . . . 9 |- (u = <.w, z>. -> A.x u = <.w, z>.)
2 ax-17 1317 . . . . . . . . . 10 |- (w e. (A X. B) -> A.x w e. (A X. B))
3 fvex 4689 . . . . . . . . . . . 12 |- (2nd` w) e. _V
43isseti 2297 . . . . . . . . . . 11 |- E.y y = (2nd`
w)
5 oprabopabf.2 . . . . . . . . . . . . 13 |- (ch -> A.ych)
65hbal 1352 . . . . . . . . . . . . 13 |- (A.xch -> A.yA.xch)
75, 6hbim 1354 . . . . . . . . . . . 12 |- ((ch -> A.xch) -> A.y(ch -> A.xch))
8 oprabopabf.1 . . . . . . . . . . . . 13 |- (ps -> A.xps)
9 oprabopabf.4 . . . . . . . . . . . . . 14 |- (y = (2nd`
w) -> (ps <-> ch))
109albidv 1656 . . . . . . . . . . . . . 14 |- (y = (2nd`
w) -> (A.xps <-> A.xch))
119, 10imbi12d 688 . . . . . . . . . . . . 13 |- (y = (2nd`
w) -> ((ps -> A.xps) <-> (ch -> A.xch)))
128, 11mpbii 210 . . . . . . . . . . . 12 |- (y = (2nd`
w) -> (ch -> A.xch))
137, 1219.23ai 1412 . . . . . . . . . . 11 |- (E.y y = (2nd` w) -> (ch -> A.xch))
144, 13ax-mp 7 . . . . . . . . . 10 |- (ch -> A.xch)
152, 14hban 1356 . . . . . . . . 9 |- ((w e. (A X. B) /\ ch) -> A.x(w e. (A X. B) /\ ch))
161, 15hban 1356 . . . . . . . 8 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> A.x(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
1716hbex 1353 . . . . . . 7 |- (E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> A.xE.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
18 ax-17 1317 . . . . . . . . . 10 |- (u = <.w, z>. -> A.y u = <.w, z>.)
19 ax-17 1317 . . . . . . . . . . 11 |- (w e. (A X. B) -> A.y w e. (A X. B))
2019, 5hban 1356 . . . . . . . . . 10 |- ((w e. (A X. B) /\ ch) -> A.y(w e. (A X. B) /\ ch))
2118, 20hban 1356 . . . . . . . . 9 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> A.y(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
2221hbex 1353 . . . . . . . 8 |- (E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> A.yE.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
23 opex 3527 . . . . . . . . . 10 |- <.x, y>. e. _V
24 opeq1 3158 . . . . . . . . . . . 12 |- (w = <.x, y>. -> <.w, z>. = <.<.x, y>., z>.)
2524eqeq2d 1895 . . . . . . . . . . 11 |- (w = <.x, y>. -> (u = <.w, z>. <-> u = <.<.x, y>., z>.))
26 eleq1 1957 . . . . . . . . . . . 12 |- (w = <.x, y>. -> (w e. (A X. B) <-> <.x, y>. e. (A X. B)))
27 fveq2 4681 . . . . . . . . . . . . . . 15 |- (w = <.x, y>. -> (1st` w) = (1st` <.x, y>.))
28 visset 2295 . . . . . . . . . . . . . . . 16 |- x e. _V
2928op1st 5026 . . . . . . . . . . . . . . 15 |- (1st` <.x, y>.) = x
3027, 29syl6req 1945 . . . . . . . . . . . . . 14 |- (w = <.x, y>. -> x = (1st`
w))
31 oprabopabf.3 . . . . . . . . . . . . . 14 |- (x = (1st`
w) -> (ph <-> ps))
3230, 31syl 12 . . . . . . . . . . . . 13 |- (w = <.x, y>. -> (ph <-> ps))
33 fveq2 4681 . . . . . . . . . . . . . . 15 |- (w = <.x, y>. -> (2nd` w) = (2nd` <.x, y>.))
34 visset 2295 . . . . . . . . . . . . . . . 16 |- y e. _V
3528, 34op2nd 5027 . . . . . . . . . . . . . . 15 |- (2nd` <.x, y>.) = y
3633, 35syl6req 1945 . . . . . . . . . . . . . 14 |- (w = <.x, y>. -> y = (2nd`
w))
3736, 9syl 12 . . . . . . . . . . . . 13 |- (w = <.x, y>. -> (ps <-> ch))
3832, 37bitr2d 588 . . . . . . . . . . . 12 |- (w = <.x, y>. -> (ch <-> ph))
3926, 38anbi12d 690 . . . . . . . . . . 11 |- (w = <.x, y>. -> ((w e. (A X. B) /\ ch) <-> (<.x, y>. e. (A X. B) /\ ph)))
4025, 39anbi12d 690 . . . . . . . . . 10 |- (w = <.x, y>. -> ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) <-> (u = <.<.x, y>., z>. /\ (<.x, y>. e. (A X. B) /\ ph))))
4123, 40cla4ev 2371 . . . . . . . . 9 |- ((u = <.<.x, y>., z>. /\ (<.x, y>. e. (A X. B) /\ ph)) -> E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
42 opelxpi 4040 . . . . . . . . 9 |- ((x e. A /\ y e. B) -> <.x, y>. e. (A X. B))
4341, 42sylanr1 511 . . . . . . . 8 |- ((u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) -> E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
4422, 4319.23ai 1412 . . . . . . 7 |- (E.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) -> E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
4517, 4419.23ai 1412 . . . . . 6 |- (E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) -> E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
46 relxp 4088 . . . . . . . . . . . . 13 |- Rel (A X. B)
47 1st2nd 5048 . . . . . . . . . . . . 13 |- ((Rel (A X. B) /\ w e. (A X. B)) -> w = <.(1st` w), (2nd` w)>.)
4846, 47mpan 759 . . . . . . . . . . . 12 |- (w e. (A X. B) -> w = <.(1st` w), (2nd` w)>.)
4948opeq1d 3164 . . . . . . . . . . 11 |- (w e. (A X. B) -> <.w, z>. = <.<.(1st`
w), (2nd` w)>., z>.)
5049eqeq2d 1895 . . . . . . . . . 10 |- (w e. (A X. B) -> (u = <.w, z>. <-> u = <.<.(1st` w), (2nd` w)>., z>.))
5150biimpac 462 . . . . . . . . 9 |- ((u = <.w, z>. /\ w e. (A X. B)) -> u = <.<.(1st` w), (2nd` w)>., z>.)
5251adantrr 431 . . . . . . . 8 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> u = <.<.(1st` w), (2nd` w)>., z>.)
53 xp1st 10155 . . . . . . . . . 10 |- (w e. (A X. B) -> (1st` w) e. A)
54 xp2nd 10156 . . . . . . . . . 10 |- (w e. (A X. B) -> (2nd` w) e. B)
5553, 54jca 310 . . . . . . . . 9 |- (w e. (A X. B) -> ((1st` w) e. A /\ (2nd` w) e. B))
5655ad2antrl 442 . . . . . . . 8 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> ((1st`
w) e. A /\ (2nd`
w) e. B))
57 simprr 451 . . . . . . . 8 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> ch)
58 ax-17 1317 . . . . . . . . . . . 12 |- (v e. (2nd`
w) -> A.y v e. (2nd` w))
59 ax-17 1317 . . . . . . . . . . . . 13 |- (u = <.<.(1st` w), (2nd` w)>., z>. -> A.y u = <.<.(1st` w), (2nd` w)>., z>.)
60 ax-17 1317 . . . . . . . . . . . . . 14 |- (((1st` w) e. A /\ (2nd` w) e. B) -> A.y((1st` w) e. A /\ (2nd` w) e. B))
6160, 5hban 1356 . . . . . . . . . . . . 13 |- ((((1st`
w) e. A /\ (2nd`
w) e. B) /\ ch) -> A.y(((1st`
w) e. A /\ (2nd`
w) e. B) /\ ch))
6259, 61hban 1356 . . . . . . . . . . . 12 |- ((u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)) -> A.y(u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)))
63 opeq2 3159 . . . . . . . . . . . . . . 15 |- (y = (2nd`
w) -> <.(1st` w), y>. = <.(1st` w), (2nd` w)>.)
6463opeq1d 3164 . . . . . . . . . . . . . 14 |- (y = (2nd`
w) -> <.<.(1st` w), y>., z>. = <.<.(1st` w), (2nd` w)>., z>.)
6564eqeq2d 1895 . . . . . . . . . . . . 13 |- (y = (2nd`
w) -> (u = <.<.(1st` w), y>., z>. <-> u = <.<.(1st` w), (2nd` w)>., z>.))
66 eleq1 1957 . . . . . . . . . . . . . . 15 |- (y = (2nd`
w) -> (y e. B <-> (2nd` w) e. B))
6766anbi2d 678 . . . . . . . . . . . . . 14 |- (y = (2nd`
w) -> (((1st`
w) e. A /\ y e. B) <-> ((1st` w) e. A /\ (2nd` w) e. B)))
6867, 9anbi12d 690 . . . . . . . . . . . . 13 |- (y = (2nd`
w) -> ((((1st` w) e. A /\ y e. B) /\ ps) <-> (((1st`
w) e. A /\ (2nd`
w) e. B) /\ ch)))
6965, 68anbi12d 690 . . . . . . . . . . . 12 |- (y = (2nd`
w) -> ((u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps)) <-> (u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch))))
7058, 62, 69cla4egf 2362 . . . . . . . . . . 11 |- ((2nd` w) e. _V -> ((u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)) -> E.y(u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps))))
713, 70ax-mp 7 . . . . . . . . . 10 |- ((u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)) -> E.y(u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps)))
72 fvex 4689 . . . . . . . . . . . 12 |- (1st` w) e. _V
73 ax-17 1317 . . . . . . . . . . . . 13 |- (v e. (1st`
w) -> A.x v e. (1st` w))
74 ax-17 1317 . . . . . . . . . . . . . 14 |- (u = <.<.(1st` w), y>., z>. -> A.x u = <.<.(1st` w), y>., z>.)
75 ax-17 1317 . . . . . . . . . . . . . . 15 |- (((1st` w) e. A /\ y e. B) -> A.x((1st` w) e. A /\ y e. B))
7675, 8hban 1356 . . . . . . . . . . . . . 14 |- ((((1st`
w) e. A /\ y e. B) /\ ps) -> A.x(((1st`
w) e. A /\ y e. B) /\ ps))
7774, 76hban 1356 . . . . . . . . . . . . 13 |- ((u = <.<.(1st` w), y>., z>. /\ (((1st`
w) e. A /\ y e. B) /\ ps)) -> A.x(u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps)))
78 opeq1 3158 . . . . . . . . . . . . . . . 16 |- (x = (1st`
w) -> <.x, y>. = <.(1st`
w), y>.)
7978opeq1d 3164 . . . . . . . . . . . . . . 15 |- (x = (1st`
w) -> <.<.x, y>., z>. = <.<.(1st` w), y>., z>.)
8079eqeq2d 1895 . . . . . . . . . . . . . 14 |- (x = (1st`
w) -> (u = <.<.x, y>., z>. <-> u = <.<.(1st` w), y>., z>.))
81 eleq1 1957 . . . . . . . . . . . . . . . 16 |- (x = (1st`
w) -> (x e. A <-> (1st` w) e. A))
8281anbi1d 679 . . . . . . . . . . . . . . 15 |- (x = (1st`
w) -> ((x e. A /\ y e. B) <-> ((1st` w) e. A /\ y e. B)))
8382, 31anbi12d 690 . . . . . . . . . . . . . 14 |- (x = (1st`
w) -> (((x e. A /\ y e. B) /\ ph) <-> (((1st`
w) e. A /\ y e. B) /\ ps)))
8480, 83anbi12d 690 . . . . . . . . . . . . 13 |- (x = (1st`
w) -> ((u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> (u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps))))
8573, 77, 84cla4egf 2362 . . . . . . . . . . . 12 |- ((1st` w) e. _V -> ((u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps)) -> E.x(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph))))
8672, 85ax-mp 7 . . . . . . . . . . 11 |- ((u = <.<.(1st` w), y>., z>. /\ (((1st`
w) e. A /\ y e. B) /\ ps)) -> E.x(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
8786eximi 1387 . . . . . . . . . 10 |- (E.y(u = <.<.(1st` w), y>., z>. /\ (((1st` w) e. A /\ y e. B) /\ ps)) -> E.yE.x(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
8871, 87syl 12 . . . . . . . . 9 |- ((u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)) -> E.yE.x(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
89 excom 1393 . . . . . . . . 9 |- (E.yE.x(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
9088, 89sylib 215 . . . . . . . 8 |- ((u = <.<.(1st` w), (2nd` w)>., z>. /\ (((1st` w) e. A /\ (2nd` w) e. B) /\ ch)) -> E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
9152, 56, 57, 90syl12anc 1098 . . . . . . 7 |- ((u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
929119.23aiv 1674 . . . . . 6 |- (E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)) -> E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
9345, 92impbii 174 . . . . 5 |- (E.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
9493exbii 1398 . . . 4 |- (E.zE.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.zE.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
95 excom 1393 . . . . . 6 |- (E.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.zE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
9695exbii 1398 . . . . 5 |- (E.xE.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.xE.zE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
97 excom 1393 . . . . 5 |- (E.xE.zE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.zE.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
9896, 97bitri 190 . . . 4 |- (E.xE.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.zE.xE.y(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)))
99 excom 1393 . . . 4 |- (E.wE.z(u = <.w, z>. /\ (w e. (A X. B) /\ ch)) <-> E.zE.w(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
10094, 98, 993bitr4i 200 . . 3 |- (E.xE.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph)) <-> E.wE.z(u = <.w, z>. /\ (w e. (A X. B) /\ ch)))
101100abbii 2006 . 2 |- {u | E.xE.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph))} = {u | E.wE.z(u = <.w, z>. /\ (w e. (A X. B) /\ ch))}
102 df-oprab 4887 . 2 |- {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ ph)} = {u | E.xE.yE.z(u = <.<.x, y>., z>. /\ ((x e. A /\ y e. B) /\ ph))}
103 df-opab 3396 . 2 |- {<.w, z>. | (w e. (A X. B) /\ ch)} = {u | E.wE.z(u = <.w, z>. /\ (w e. (A X. B) /\ ch))}
104101, 102, 1033eqtr4i 1921 1 |- {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ ph)} = {<.w, z>. | (w e. (A X. B) /\ ch)}
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  {cab 1871  _Vcvv 2292  <.cop 3046  {copab 3395   X. cxp 3984  Rel wrel 3991  ` cfv 3998  {copab2 4885  1stc1st 5018  2ndc2nd 5019
This theorem is referenced by:  oprabopab 10158  oprabco 10159
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-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-oprab 4887  df-1st 5020  df-2nd 5021
Copyright terms: Public domain