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

Theorem fopabcos 3909
Description: Composition of two functions expressed as ordered-pair class abstractions.
Hypotheses
Ref Expression
fopabcos.1 |- C e. V
fopabcos.2 |- D e. V
fopabcos.3 |- F = {<.x, y>. | (x e. A /\ y = C)}
fopabcos.4 |- G = {<.x, y>. | (x e. B /\ y = D)}
Assertion
Ref Expression
fopabcos |- (ran G (_ A -> (F o. G) = {<.x, y>. | (x e. B /\ y = [_D / x]_C)})
Distinct variable groups:   x,y,A   x,B,y   y,C   y,D

Proof of Theorem fopabcos
StepHypRef Expression
1 visset 1851 . . . . . . . . 9 |- z e. V
2 fopabcos.2 . . . . . . . . 9 |- D e. V
3 fopabcos.4 . . . . . . . . 9 |- G = {<.x, y>. | (x e. B /\ y = D)}
41, 2, 3fvopab4s 3859 . . . . . . . 8 |- (z e. B -> (G` z) = [_z / x]_D)
54adantl 388 . . . . . . 7 |- ((ran G (_ A /\ z e. B) -> (G` z) = [_z / x]_D)
62, 3fnopab2 3693 . . . . . . . . . 10 |- G Fn B
7 fnfvelrn 3889 . . . . . . . . . 10 |- ((G Fn B /\ z e. B) -> (G` z) e. ran G)
86, 7mpan 698 . . . . . . . . 9 |- (z e. B -> (G` z) e. ran G)
98adantl 388 . . . . . . . 8 |- ((ran G (_ A /\ z e. B) -> (G` z) e. ran G)
10 ssel 2107 . . . . . . . . 9 |- (ran G (_ A -> ((G` z) e. ran G -> (G` z) e. A))
1110adantr 389 . . . . . . . 8 |- ((ran G (_ A /\ z e. B) -> ((G` z) e. ran G -> (G` z) e. A))
129, 11mpd 26 . . . . . . 7 |- ((ran G (_ A /\ z e. B) -> (G` z) e. A)
135, 12eqeltrrd 1586 . . . . . 6 |- ((ran G (_ A /\ z e. B) -> [_z / x]_D e. A)
141, 2csbex 2052 . . . . . . 7 |- [_z / x]_D e. V
15 fopabcos.1 . . . . . . 7 |- C e. V
16 ax-17 1003 . . . . . . . 8 |- (w e. z -> A.x w e. z)
171, 16hbcsb1 2068 . . . . . . 7 |- (w e. [_z / x]_D -> A.x w e. [_z / x]_D)
18 fopabcos.3 . . . . . . 7 |- F = {<.x, y>. | (x e. A /\ y = C)}
1914, 15, 17, 18fvopab4sf 3858 . . . . . 6 |- ([_z / x]_D e. A -> (F` [_z / x]_D) = [_[_z / x]_D / x]_C)
2013, 19syl 10 . . . . 5 |- ((ran G (_ A /\ z e. B) -> (F` [_z / x]_D) = [_[_z / x]_D / x]_C)
212, 3dmopab2 3694 . . . . . . . . 9 |- dom G = B
2221eleq2i 1575 . . . . . . . 8 |- (z e. dom G <-> z e. B)
2315, 18fnopab2 3693 . . . . . . . . . 10 |- F Fn A
24 fnfun 3660 . . . . . . . . . 10 |- (F Fn A -> Fun F)
2523, 24ax-mp 7 . . . . . . . . 9 |- Fun F
26 fnfun 3660 . . . . . . . . . 10 |- (G Fn B -> Fun G)
276, 26ax-mp 7 . . . . . . . . 9 |- Fun G
28 fvco 3850 . . . . . . . . 9 |- ((Fun F /\ Fun G /\ z e. dom G) -> ((F o. G)` z) = (F` (G` z)))
2925, 27, 28mp3an12 909 . . . . . . . 8 |- (z e. dom G -> ((F o. G)` z) = (F` (G` z)))
3022, 29sylbir 199 . . . . . . 7 |- (z e. B -> ((F o. G)` z) = (F` (G` z)))
314fveq2d 3804 . . . . . . 7 |- (z e. B -> (F` (G` z)) = (F` [_z / x]_D))
3230, 31eqtrd 1544 . . . . . 6 |- (z e. B -> ((F o. G)` z) = (F` [_z / x]_D))
3332adantl 388 . . . . 5 |- ((ran G (_ A /\ z e. B) -> ((F o. G)` z) = (F` [_z / x]_D))
342, 15csbex 2052 . . . . . . . 8 |- [_D / x]_C e. V
35 eqid 1512 . . . . . . . 8 |- {<.x, y>. | (x e. B /\ y = [_D / x]_C)} = {<.x, y>. | (x e. B /\ y = [_D / x]_C)}
361, 34, 35fvopab4s 3859 . . . . . . 7 |- (z e. B -> ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z) = [_z / x]_[_D / x]_C)
372ax-gen 995 . . . . . . . 8 |- A.x D e. V
38 csbnest1g 2081 . . . . . . . 8 |- ((z e. V /\ A.x D e. V) -> [_z / x]_[_D / x]_C = [_[_z / x]_D / x]_C)
391, 37, 38mp2an 700 . . . . . . 7 |- [_z / x]_[_D / x]_C = [_[_z / x]_D / x]_C
4036, 39syl6eq 1560 . . . . . 6 |- (z e. B -> ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z) = [_[_z / x]_D / x]_C)
4140adantl 388 . . . . 5 |- ((ran G (_ A /\ z e. B) -> ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z) = [_[_z / x]_D / x]_C)
4220, 33, 413eqtr4d 1554 . . . 4 |- ((ran G (_ A /\ z e. B) -> ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))
4342r19.21aiva 1752 . . 3 |- (ran G (_ A -> A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))
44 eqid 1512 . . 3 |- B = B
4543, 44jctil 290 . 2 |- (ran G (_ A -> (B = B /\ A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z)))
46 fnco 3670 . . . 4 |- ((F Fn A /\ G Fn B /\ ran G (_ A) -> (F o. G) Fn B)
4723, 6, 46mp3an12 909 . . 3 |- (ran G (_ A -> (F o. G) Fn B)
4834, 35fnopab2 3693 . . . 4 |- {<.x, y>. | (x e. B /\ y = [_D / x]_C)} Fn B
49 ax-17 1003 . . . . 5 |- (w e. (F o. G) -> A.z w e. (F o. G))
50 ax-17 1003 . . . . 5 |- (w e. {<.x, y>. | (x e. B /\ y = [_D / x]_C)} -> A.z w e. {<.x, y>. | (x e. B /\ y = [_D / x]_C)})
5149, 50eqfnfvf 3874 . . . 4 |- (((F o. G) Fn B /\ {<.x, y>. | (x e. B /\ y = [_D / x]_C)} Fn B) -> ((F o. G) = {<.x, y>. | (x e. B /\ y = [_D / x]_C)} <-> (B = B /\ A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))))
5248, 51mpan2 699 . . 3 |- ((F o. G) Fn B -> ((F o. G) = {<.x, y>. | (x e. B /\ y = [_D / x]_C)} <-> (B = B /\ A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))))
5347, 52syl 10 . 2 |- (ran G (_ A -> ((F o. G) = {<.x, y>. | (x e. B /\ y = [_D / x]_C)} <-> (B = B /\ A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))))
5445, 53mpbird 194 1 |- (ran G (_ A -> (F o. G) = {<.x, y>. | (x e. B /\ y = [_D / x]_C)})
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 144   /\ wa 221  A.wal 986   = wceq 988   e. wcel 990  A.wral 1683  Vcvv 1849  [_csb 2043   (_ wss 2091  {copab 2717  dom cdm 3225  ran crn 3226   o. ccom 3229  Fun wfun 3231   Fn wfn 3232  ` cfv 3237
This theorem is referenced by:  oprcn 8097  kbass2 10167  kbass5 10170
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 994  ax-gen 995  ax-8 996  ax-9 997  ax-10 998  ax-11 999  ax-12 1000  ax-13 1001  ax-14 1002  ax-17 1003  ax-4 1005  ax-5o 1007  ax-6o 1010  ax-9o 1155  ax-10o 1173  ax-16 1243  ax-11o 1251  ax-ext 1494  ax-sep 2754  ax-pow 2794  ax-pr 2832  ax-un 2920
This theorem depends on definitions:  df-bi 145  df-or 222  df-an 223  df-3an 780  df-ex 1013  df-sb 1205  df-eu 1415  df-mo 1416  df-clab 1500  df-cleq 1505  df-clel 1508  df-ne 1624  df-ral 1687  df-rex 1688  df-v 1850  df-sbc 1979  df-csb 2044  df-dif 2093  df-un 2094  df-in 2095  df-ss 2097  df-nul 2325  df-pw 2447  df-sn 2457  df-pr 2458  df-op 2461  df-uni 2552  df-br 2670  df-opab 2718  df-id 2889  df-xp 3239  df-rel 3240  df-cnv 3241  df-co 3242  df-dm 3243  df-rn 3244  df-res 3245  df-ima 3246  df-fun 3247  df-fn 3248  df-fv 3253
Copyright terms: Public domain