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

Theorem oprabco 10159
Description: Composition of a function with an operator abstraction. (Contributed by Jeff Madsen, 2-Sep-2009.)
Hypotheses
Ref Expression
oprabco.1 |- ((x e. A /\ y e. B) -> C e. D)
oprabco.2 |- F = {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ z = C)}
oprabco.3 |- G = {<.<.x, y>., w>. | ((x e. A /\ y e. B) /\ w = (H` C))}
Assertion
Ref Expression
oprabco |- (H Fn D -> G = (H o. F))
Distinct variable groups:   w,A,x,y,z   w,B,x,y,z   w,C,z   w,D,x,y,z   z,G   w,H,x,y,z

Proof of Theorem oprabco
StepHypRef Expression
1 eqfnfv 4766 . . 3 |- ((G Fn (A X. B) /\ (H o. F) Fn (A X. B)) -> (G = (H o. F) <-> ((A X. B) = (A X. B) /\ A.u e. (A X. B)(G` u) = ((H o. F)` u))))
2 fvex 4689 . . . 4 |- (H` C) e. _V
3 oprabco.3 . . . 4 |- G = {<.<.x, y>., w>. | ((x e. A /\ y e. B) /\ w = (H` C))}
42, 3fnoprab2 5064 . . 3 |- G Fn (A X. B)
5 oprabco.2 . . . . . 6 |- F = {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ z = C)}
6 oprabco.1 . . . . . 6 |- ((x e. A /\ y e. B) -> C e. D)
75, 6foprab 5062 . . . . 5 |- F:(A X. B)-->D
8 ffn 4562 . . . . 5 |- (F:(A X. B)-->D -> F Fn (A X. B))
97, 8ax-mp 7 . . . 4 |- F Fn (A X. B)
10 frn 4569 . . . . 5 |- (F:(A X. B)-->D -> ran F C_ D)
117, 10ax-mp 7 . . . 4 |- ran F C_ D
12 fnco 4521 . . . 4 |- ((H Fn D /\ F Fn (A X. B) /\ ran F C_ D) -> (H o. F) Fn (A X. B))
139, 11, 12mp3an23 1183 . . 3 |- (H Fn D -> (H o. F) Fn (A X. B))
141, 4, 13sylancr 526 . 2 |- (H Fn D -> (G = (H o. F) <-> ((A X. B) = (A X. B) /\ A.u e. (A X. B)(G` u) = ((H o. F)` u))))
15 eqidd 1885 . 2 |- (H Fn D -> (A X. B) = (A X. B))
16 xp1st 10155 . . . . . . . . 9 |- (u e. (A X. B) -> (1st` u) e. A)
17 xp2nd 10156 . . . . . . . . 9 |- (u e. (A X. B) -> (2nd` u) e. B)
186rgen2 2186 . . . . . . . . . 10 |- A.x e. A A.y e. B C e. D
19 ax-17 1317 . . . . . . . . . . . . 13 |- (y e. B -> A.x y e. B)
20 fvex 4689 . . . . . . . . . . . . . . 15 |- (1st` u) e. _V
21 ax-17 1317 . . . . . . . . . . . . . . 15 |- (v e. (1st`
u) -> A.x v e. (1st` u))
2220, 21hbcsb1 2568 . . . . . . . . . . . . . 14 |- (v e. [_(1st` u) / x]_C -> A.x v e. [_(1st` u) / x]_C)
23 ax-17 1317 . . . . . . . . . . . . . 14 |- (v e. D -> A.x v e. D)
2422, 23hbel 1996 . . . . . . . . . . . . 13 |- ([_(1st` u) / x]_C e. D -> A.x[_(1st` u) / x]_C e. D)
2519, 24hbral 2146 . . . . . . . . . . . 12 |- (A.y e. B [_(1st` u) / x]_C e. D -> A.xA.y e. B [_(1st` u) / x]_C e. D)
26 csbeq1a 2546 . . . . . . . . . . . . . 14 |- (x = (1st`
u) -> C = [_(1st` u) / x]_C)
2726eleq1d 1963 . . . . . . . . . . . . 13 |- (x = (1st`
u) -> (C e. D <-> [_(1st` u) / x]_C e. D))
2827ralbidv 2123 . . . . . . . . . . . 12 |- (x = (1st`
u) -> (A.y e. B C e. D <-> A.y e. B [_(1st` u) / x]_C e. D))
2925, 28rcla4 2373 . . . . . . . . . . 11 |- ((1st` u) e. A -> (A.x e. A A.y e. B C e. D -> A.y e. B [_(1st` u) / x]_C e. D))
30 fvex 4689 . . . . . . . . . . . . . 14 |- (2nd` u) e. _V
31 ax-17 1317 . . . . . . . . . . . . . 14 |- (v e. (2nd`
u) -> A.y v e. (2nd` u))
3230, 31hbcsb1 2568 . . . . . . . . . . . . 13 |- (v e. [_(2nd` u) / y]_[_(1st`
u) / x]_C -> A.y v e. [_(2nd` u) / y]_[_(1st` u) / x]_C)
33 ax-17 1317 . . . . . . . . . . . . 13 |- (v e. D -> A.y v e. D)
3432, 33hbel 1996 . . . . . . . . . . . 12 |- ([_(2nd` u) / y]_[_(1st` u) / x]_C e. D -> A.y[_(2nd` u) / y]_[_(1st`
u) / x]_C e. D)
35 csbeq1a 2546 . . . . . . . . . . . . 13 |- (y = (2nd`
u) -> [_(1st` u) / x]_C = [_(2nd` u) / y]_[_(1st` u) / x]_C)
3635eleq1d 1963 . . . . . . . . . . . 12 |- (y = (2nd`
u) -> ([_(1st`
u) / x]_C e. D <-> [_(2nd` u) / y]_[_(1st` u) / x]_C e. D))
3734, 36rcla4 2373 . . . . . . . . . . 11 |- ((2nd` u) e. B -> (A.y e. B [_(1st` u) / x]_C e. D -> [_(2nd` u) / y]_[_(1st` u) / x]_C e. D))
3829, 37sylan9 517 . . . . . . . . . 10 |- (((1st` u) e. A /\ (2nd` u) e. B) -> (A.x e. A A.y e. B C e. D -> [_(2nd` u) / y]_[_(1st`
u) / x]_C e. D))
3918, 38mpi 55 . . . . . . . . 9 |- (((1st` u) e. A /\ (2nd` u) e. B) -> [_(2nd` u) / y]_[_(1st`
u) / x]_C e. D)
4016, 17, 39syl11anc 524 . . . . . . . 8 |- (u e. (A X. B) -> [_(2nd` u) / y]_[_(1st` u) / x]_C e. D)
41 fveq2 4681 . . . . . . . . . . 11 |- (v = u -> (2nd` v) = (2nd`
u))
4241csbeq1d 2544 . . . . . . . . . 10 |- (v = u -> [_(2nd` v) / y]_[_(1st` v) / x]_C = [_(2nd` u) / y]_[_(1st` v) / x]_C)
43 fveq2 4681 . . . . . . . . . . . . 13 |- (v = u -> (1st` v) = (1st`
u))
4443csbeq1d 2544 . . . . . . . . . . . 12 |- (v = u -> [_(1st` v) / x]_C = [_(1st` u) / x]_C)
4544csbeq2dv 2562 . . . . . . . . . . 11 |- ((v = u /\ (2nd` u) e. _V) -> [_(2nd` u) / y]_[_(1st`
v) / x]_C = [_(2nd` u) / y]_[_(1st` u) / x]_C)
4630, 45mpan2 760 . . . . . . . . . 10 |- (v = u -> [_(2nd` u) / y]_[_(1st` v) / x]_C = [_(2nd` u) / y]_[_(1st` u) / x]_C)
4742, 46eqtrd 1925 . . . . . . . . 9 |- (v = u -> [_(2nd` v) / y]_[_(1st` v) / x]_C = [_(2nd` u) / y]_[_(1st` u) / x]_C)
48 ax-17 1317 . . . . . . . . . . . 12 |- (u e. z -> A.x u e. z)
49 fvex 4689 . . . . . . . . . . . . 13 |- (1st` v) e. _V
50 ax-17 1317 . . . . . . . . . . . . 13 |- (u e. (1st` v) -> A.x u e. (1st` v))
5149, 50hbcsb1 2568 . . . . . . . . . . . 12 |- (u e. [_(1st` v) / x]_C -> A.x u e. [_(1st` v) / x]_C)
5248, 51hbeq 1995 . . . . . . . . . . 11 |- (z = [_(1st` v) / x]_C -> A.x z = [_(1st` v) / x]_C)
53 ax-17 1317 . . . . . . . . . . . 12 |- (u e. z -> A.y u e. z)
54 fvex 4689 . . . . . . . . . . . . 13 |- (2nd` v) e. _V
55 ax-17 1317 . . . . . . . . . . . . 13 |- (u e. (2nd` v) -> A.y u e. (2nd` v))
5654, 55hbcsb1 2568 . . . . . . . . . . . 12 |- (u e. [_(2nd` v) / y]_[_(1st`
v) / x]_C -> A.y u e. [_(2nd` v) / y]_[_(1st` v) / x]_C)
5753, 56hbeq 1995 . . . . . . . . . . 11 |- (z = [_(2nd` v) / y]_[_(1st`
v) / x]_C -> A.y z = [_(2nd` v) / y]_[_(1st` v) / x]_C)
58 csbeq1a 2546 . . . . . . . . . . . 12 |- (x = (1st`
v) -> C = [_(1st` v) / x]_C)
5958eqeq2d 1895 . . . . . . . . . . 11 |- (x = (1st`
v) -> (z = C <-> z = [_(1st` v) / x]_C))
60 csbeq1a 2546 . . . . . . . . . . . 12 |- (y = (2nd`
v) -> [_(1st` v) / x]_C = [_(2nd` v) / y]_[_(1st` v) / x]_C)
6160eqeq2d 1895 . . . . . . . . . . 11 |- (y = (2nd`
v) -> (z = [_(1st` v) / x]_C <-> z = [_(2nd` v) / y]_[_(1st`
v) / x]_C))
6252, 57, 59, 61oprabopabf 10157 . . . . . . . . . 10 |- {<.<.x, y>., z>. | ((x e. A /\ y e. B) /\ z = C)} = {<.v, z>. | (v e. (A X. B) /\ z = [_(2nd` v) / y]_[_(1st` v) / x]_C)}
635, 62eqtri 1908 . . . . . . . . 9 |- F = {<.v, z>. | (v e. (A X. B) /\ z = [_(2nd` v) / y]_[_(1st`
v) / x]_C)}
6447, 63fvopab4g 4742 . . . . . . . 8 |- ((u e. (A X. B) /\ [_(2nd`
u) / y]_[_(1st`
u) / x]_C e. D) -> (F` u) = [_(2nd` u) / y]_[_(1st` u) / x]_C)
6540, 64mpdan 768 . . . . . . 7 |- (u e. (A X. B) -> (F` u) = [_(2nd` u) / y]_[_(1st` u) / x]_C)
6665adantl 424 . . . . . 6 |- ((H Fn D /\ u e. (A X. B)) -> (F` u) = [_(2nd` u) / y]_[_(1st` u) / x]_C)
6766fveq2d 4685 . . . . 5 |- ((H Fn D /\ u e. (A X. B)) -> (H` (F` u)) = (H` [_(2nd` u) / y]_[_(1st` u) / x]_C))
68 csbfv2g 4700 . . . . . . . . 9 |- ((1st` u) e. _V -> [_(1st` u) / x]_(H` C) = (H` [_(1st`
u) / x]_C))
6920, 68ax-mp 7 . . . . . . . 8 |- [_(1st` u) / x]_(H` C) = (H` [_(1st` u) / x]_C)
7069csbeq2i 2563 . . . . . . 7 |- ((2nd` u) e. _V -> [_(2nd` u) / y]_[_(1st` u) / x]_(H` C) = [_(2nd` u) / y]_(H` [_(1st`
u) / x]_C))
7130, 70ax-mp 7 . . . . . 6 |- [_(2nd` u) / y]_[_(1st`
u) / x]_(H` C) = [_(2nd` u) / y]_(H` [_(1st`
u) / x]_C)
72 csbfv2g 4700 . . . . . . 7 |- ((2nd` u) e. _V -> [_(2nd` u) / y]_(H` [_(1st` u) / x]_C) = (H` [_(2nd`
u) / y]_[_(1st`
u) / x]_C))
7330, 72ax-mp 7 . . . . . 6 |- [_(2nd` u) / y]_(H` [_(1st` u) / x]_C) = (H` [_(2nd` u) / y]_[_(1st` u) / x]_C)
7471, 73eqtri 1908 . . . . 5 |- [_(2nd` u) / y]_[_(1st`
u) / x]_(H` C) = (H` [_(2nd` u) / y]_[_(1st`
u) / x]_C)
7567, 74syl6eqr 1946 . . . 4 |- ((H Fn D /\ u e. (A X. B)) -> (H` (F` u)) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
76 fnfun 4510 . . . . . 6 |- (H Fn D -> Fun H)
7776adantr 425 . . . . 5 |- ((H Fn D /\ u e. (A X. B)) -> Fun H)
78 fnfun 4510 . . . . . . 7 |- (F Fn (A X. B) -> Fun F)
799, 78ax-mp 7 . . . . . 6 |- Fun F
8079a1i 8 . . . . 5 |- ((H Fn D /\ u e. (A X. B)) -> Fun F)
817fdmi 4568 . . . . . . . 8 |- dom F = (A X. B)
8281eleq2i 1961 . . . . . . 7 |- (u e. dom F <-> u e. (A X. B))
8382biimpri 169 . . . . . 6 |- (u e. (A X. B) -> u e. dom F)
8483adantl 424 . . . . 5 |- ((H Fn D /\ u e. (A X. B)) -> u e. dom F)
85 fvco 4736 . . . . 5 |- ((Fun H /\ Fun F /\ u e. dom F) -> ((H o. F)` u) = (H` (F` u)))
8677, 80, 84, 85syl111anc 1100 . . . 4 |- ((H Fn D /\ u e. (A X. B)) -> ((H o. F)` u) = (H` (F` u)))
8720, 2csbex 2549 . . . . . . 7 |- [_(1st` u) / x]_(H` C) e. _V
8830, 87csbex 2549 . . . . . 6 |- [_(2nd` u) / y]_[_(1st`
u) / x]_(H` C) e. _V
8941csbeq1d 2544 . . . . . . . 8 |- (v = u -> [_(2nd` v) / y]_[_(1st` v) / x]_(H` C) = [_(2nd` u) / y]_[_(1st` v) / x]_(H` C))
9043csbeq1d 2544 . . . . . . . . . 10 |- (v = u -> [_(1st` v) / x]_(H` C) = [_(1st` u) / x]_(H` C))
9190csbeq2dv 2562 . . . . . . . . 9 |- ((v = u /\ (2nd` u) e. _V) -> [_(2nd` u) / y]_[_(1st`
v) / x]_(H` C) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
9230, 91mpan2 760 . . . . . . . 8 |- (v = u -> [_(2nd` u) / y]_[_(1st` v) / x]_(H` C) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
9389, 92eqtrd 1925 . . . . . . 7 |- (v = u -> [_(2nd` v) / y]_[_(1st` v) / x]_(H` C) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
94 ax-17 1317 . . . . . . . . . 10 |- (u e. w -> A.x u e. w)
9549, 50hbcsb1 2568 . . . . . . . . . 10 |- (u e. [_(1st` v) / x]_(H` C) -> A.x u e. [_(1st` v) / x]_(H` C))
9694, 95hbeq 1995 . . . . . . . . 9 |- (w = [_(1st` v) / x]_(H` C) -> A.x w = [_(1st` v) / x]_(H` C))
97 ax-17 1317 . . . . . . . . . 10 |- (u e. w -> A.y u e. w)
9854, 55hbcsb1 2568 . . . . . . . . . 10 |- (u e. [_(2nd` v) / y]_[_(1st`
v) / x]_(H` C) -> A.y u e. [_(2nd` v) / y]_[_(1st` v) / x]_(H` C))
9997, 98hbeq 1995 . . . . . . . . 9 |- (w = [_(2nd` v) / y]_[_(1st`
v) / x]_(H` C) -> A.y w = [_(2nd` v) / y]_[_(1st` v) / x]_(H` C))
100 csbeq1a 2546 . . . . . . . . . 10 |- (x = (1st`
v) -> (H` C) = [_(1st` v) / x]_(H` C))
101100eqeq2d 1895 . . . . . . . . 9 |- (x = (1st`
v) -> (w = (H` C) <-> w = [_(1st` v) / x]_(H` C)))
102 csbeq1a 2546 . . . . . . . . . 10 |- (y = (2nd`
v) -> [_(1st` v) / x]_(H` C) = [_(2nd` v) / y]_[_(1st` v) / x]_(H` C))
103102eqeq2d 1895 . . . . . . . . 9 |- (y = (2nd`
v) -> (w = [_(1st` v) / x]_(H` C) <-> w = [_(2nd`
v) / y]_[_(1st`
v) / x]_(H` C)))
10496, 99, 101, 103oprabopabf 10157 . . . . . . . 8 |- {<.<.x, y>., w>. | ((x e. A /\ y e. B) /\ w = (H` C))} = {<.v, w>. | (v e. (A X. B) /\ w = [_(2nd` v) / y]_[_(1st` v) / x]_(H` C))}
1053, 104eqtri 1908 . . . . . . 7 |- G = {<.v, w>. | (v e. (A X. B) /\ w = [_(2nd` v) / y]_[_(1st`
v) / x]_(H` C))}
10693, 105fvopab4g 4742 . . . . . 6 |- ((u e. (A X. B) /\ [_(2nd`
u) / y]_[_(1st`
u) / x]_(H` C) e. _V) -> (G` u) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
10788, 106mpan2 760 . . . . 5 |- (u e. (A X. B) -> (G` u) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
108107adantl 424 . . . 4 |- ((H Fn D /\ u e. (A X. B)) -> (G` u) = [_(2nd` u) / y]_[_(1st` u) / x]_(H` C))
10975, 86, 1083eqtr4rd 1939 . . 3 |- ((H Fn D /\ u e. (A X. B)) -> (G` u) = ((H o. F)` u))
110109r19.21aiva 2176 . 2 |- (H Fn D -> A.u e. (A X. B)(G` u) = ((H o. F)` u))
11114, 15, 110mpbir2and 802 1 |- (H Fn D -> G = (H o. F))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240   = wceq 1298   e. wcel 1300  A.wral 2105  _Vcvv 2292  [_csb 2540   C_ wss 2593  {copab 3395   X. cxp 3984  dom cdm 3986  ran crn 3987   o. ccom 3990  Fun wfun 3992   Fn wfn 3993  -->wf 3994  ` cfv 3998  {copab2 4885  1stc1st 5018  2ndc2nd 5019
This theorem is referenced by:  oprab2co 10160  cnoprab1 15921  cnoprab2 15922  phtpyid 16049  phtpycom 16050  phtpycolem3 16053  phtpycolem4 16054  reparpht 16065  pcorevlem 16086
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-5 1302  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-3an 860  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-csb 2541  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-fn 4009  df-f 4010  df-fv 4014  df-oprab 4887  df-1st 5020  df-2nd 5021
Copyright terms: Public domain