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

Theorem fopabcos 3772
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 1788 . . . . . . . . 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 3722 . . . . . . . 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 3558 . . . . . . . . . 10 |- G Fn B
7 fnfvelrn 3752 . . . . . . . . . 10 |- ((G Fn B /\ z e. B) -> (G` z) e. ran G)
86, 7mpan 692 . . . . . . . . 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 2034 . . . . . . . . 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 1525 . . . . . 6 |- ((ran G (_ A /\ z e. B) -> [_z / x]_D e. A)
141, 2csbex 1980 . . . . . . 7 |- [_z / x]_D e. V
15 fopabcos.1 . . . . . . 7 |- C e. V
16 ax-17 1190 . . . . . . . 8 |- (w e. z -> A.x w e. z)
171, 16hbcsb1 1996 . . . . . . 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 3721 . . . . . 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 3559 . . . . . . . . 9 |- dom G = B
2221eleq2i 1514 . . . . . . . 8 |- (z e. dom G <-> z e. B)
2315, 18fnopab2 3558 . . . . . . . . . 10 |- F Fn A
24 fnfun 3525 . . . . . . . . . 10 |- (F Fn A -> Fun F)
2523, 24ax-mp 7 . . . . . . . . 9 |- Fun F
26 fnfun 3525 . . . . . . . . . 10 |- (G Fn B -> Fun G)
276, 26ax-mp 7 . . . . . . . . 9 |- Fun G
28 fvco 3713 . . . . . . . . 9 |- ((Fun F /\ Fun G /\ z e. dom G) -> ((F o. G)` z) = (F` (G` z)))
2925, 27, 28mp3an12 902 . . . . . . . 8 |- (z e. dom G -> ((F o. G)` z) = (F` (G` z)))
3022, 29sylbir 201 . . . . . . 7 |- (z e. B -> ((F o. G)` z) = (F` (G` z)))
314fveq2d 3667 . . . . . . 7 |- (z e. B -> (F` (G` z)) = (F` [_z / x]_D))
3230, 31eqtrd 1483 . . . . . 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 1980 . . . . . . . 8 |- [_D / x]_C e. V
35 eqid 1452 . . . . . . . 8 |- {<.x, y>. | (x e. B /\ y = [_D / x]_C)} = {<.x, y>. | (x e. B /\ y = [_D / x]_C)}
361, 34, 35fvopab4s 3722 . . . . . . 7 |- (z e. B -> ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z) = [_z / x]_[_D / x]_C)
372ax-gen 955 . . . . . . . 8 |- A.x D e. V
38 csbnest1g 2008 . . . . . . . 8 |- ((z e. V /\ A.x D e. V) -> [_z / x]_[_D / x]_C = [_[_z / x]_D / x]_C)
391, 37, 38mp2an 694 . . . . . . 7 |- [_z / x]_[_D / x]_C = [_[_z / x]_D / x]_C
4036, 39syl6eq 1499 . . . . . 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 1493 . . . 4 |- ((ran G (_ A /\ z e. B) -> ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))
4342r19.21aiva 1690 . . 3 |- (ran G (_ A -> A.z e. B ((F o. G)` z) = ({<.x, y>. | (x e. B /\ y = [_D / x]_C)}` z))
44 eqid 1452 . . 3 |- B = B
4543, 44jctil 292 . 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 3535 . . . 4 |- ((F Fn A /\ G Fn B /\ ran G (_ A) -> (F o. G) Fn B)
4723, 6, 46mp3an12 902 . . 3 |- (ran G (_ A -> (F o. G) Fn B)
4834, 35fnopab2 3558 . . . 4 |- {<.x, y>. | (x e. B /\ y = [_D / x]_C)} Fn B
49 ax-17 1190 . . . . 5 |- (w e. (F o. G) -> A.z w e. (F o. G))
50 ax-17 1190 . . . . 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 3737 . . . 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 693 . . 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 196 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 146   /\ wa 223  A.wal 950   = wceq 1099   e. wcel 1105  A.wral 1621  Vcvv 1786  [_csb 1972   (_ wss 2018  {copab 2634  dom cdm 3133  ran crn 3134   o. ccom 3137  Fun wfun 3139   Fn wfn 3140  ` cfv 3145
This theorem is referenced by:  oprcn 7859  kbass2t 10176  kbass5t 10179
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-4 951  ax-5 952  ax-6 953  ax-7 954  ax-gen 955  ax-8 1101  ax-9 1102  ax-10 1103  ax-12 1104  ax-13 1107  ax-14 1108  ax-11 1180  ax-17 1190  ax-16 1194  ax-11o 1202  ax-ext 1436  ax-sep 2671  ax-nul 2678  ax-pow 2710  ax-pr 2747  ax-un 2830
This theorem depends on definitions:  df-bi 147  df-or 224  df-an 225  df-3an 774  df-ex 957  df-sb 1155  df-eu 1359  df-mo 1360  df-clab 1441  df-cleq 1446  df-clel 1449  df-ne 1563  df-ral 1625  df-rex 1626  df-v 1787  df-sbc 1913  df-csb 1973  df-dif 2020  df-un 2021  df-in 2022  df-ss 2024  df-nul 2252  df-pw 2373  df-sn 2383  df-pr 2384  df-op 2387  df-uni 2472  df-br 2588  df-opab 2635  df-id 2797  df-xp 3147  df-rel 3148  df-cnv 3149  df-co 3150  df-dm 3151  df-rn 3152  df-res 3153  df-ima 3154  df-fun 3155  df-fn 3156  df-fv 3161
Copyright terms: Public domain