ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  fmptco Unicode version

Theorem fmptco 5843
Description: Composition of two functions expressed as ordered-pair class abstractions. If  F has the equation ( x + 2 ) and  G the equation ( 3 * z ) then  ( G  o.  F
) has the equation ( 3 * ( x + 2 ) ) . (Contributed by FL, 21-Jun-2012.) (Revised by Mario Carneiro, 24-Jul-2014.)
Hypotheses
Ref Expression
fmptco.1  |-  ( (
ph  /\  x  e.  A )  ->  R  e.  B )
fmptco.2  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
fmptco.3  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
fmptco.4  |-  ( y  =  R  ->  S  =  T )
Assertion
Ref Expression
fmptco  |-  ( ph  ->  ( G  o.  F
)  =  ( x  e.  A  |->  T ) )
Distinct variable groups:    x, A    x, y, B    y, R    ph, x    x, S    y, T
Allowed substitution hints:    ph( y)    A( y)    R( x)    S( y)    T( x)    F( x, y)    G( x, y)

Proof of Theorem fmptco
Dummy variables  v  u  w  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 relco 5261 . 2  |-  Rel  ( G  o.  F )
2 funmpt 5390 . . 3  |-  Fun  (
x  e.  A  |->  T )
3 funrel 5369 . . 3  |-  ( Fun  ( x  e.  A  |->  T )  ->  Rel  ( x  e.  A  |->  T ) )
42, 3ax-mp 5 . 2  |-  Rel  (
x  e.  A  |->  T )
5 fmptco.1 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  A )  ->  R  e.  B )
6 eqid 2232 . . . . . . . . . . . . 13  |-  ( x  e.  A  |->  R )  =  ( x  e.  A  |->  R )
75, 6fmptd 5831 . . . . . . . . . . . 12  |-  ( ph  ->  ( x  e.  A  |->  R ) : A --> B )
8 fmptco.2 . . . . . . . . . . . . 13  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
98feq1d 5495 . . . . . . . . . . . 12  |-  ( ph  ->  ( F : A --> B 
<->  ( x  e.  A  |->  R ) : A --> B ) )
107, 9mpbird 167 . . . . . . . . . . 11  |-  ( ph  ->  F : A --> B )
11 ffun 5511 . . . . . . . . . . 11  |-  ( F : A --> B  ->  Fun  F )
1210, 11syl 14 . . . . . . . . . 10  |-  ( ph  ->  Fun  F )
13 funbrfv 5713 . . . . . . . . . . 11  |-  ( Fun 
F  ->  ( z F u  ->  ( F `
 z )  =  u ) )
1413imp 124 . . . . . . . . . 10  |-  ( ( Fun  F  /\  z F u )  -> 
( F `  z
)  =  u )
1512, 14sylan 283 . . . . . . . . 9  |-  ( (
ph  /\  z F u )  ->  ( F `  z )  =  u )
1615eqcomd 2238 . . . . . . . 8  |-  ( (
ph  /\  z F u )  ->  u  =  ( F `  z ) )
1716a1d 22 . . . . . . 7  |-  ( (
ph  /\  z F u )  ->  (
u G w  ->  u  =  ( F `  z ) ) )
1817expimpd 363 . . . . . 6  |-  ( ph  ->  ( ( z F u  /\  u G w )  ->  u  =  ( F `  z ) ) )
1918pm4.71rd 394 . . . . 5  |-  ( ph  ->  ( ( z F u  /\  u G w )  <->  ( u  =  ( F `  z )  /\  (
z F u  /\  u G w ) ) ) )
2019exbidv 1874 . . . 4  |-  ( ph  ->  ( E. u ( z F u  /\  u G w )  <->  E. u
( u  =  ( F `  z )  /\  ( z F u  /\  u G w ) ) ) )
21 exsimpl 1666 . . . . . . 7  |-  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  ->  E. u  u  =  ( F `  z
) )
22 isset 2820 . . . . . . 7  |-  ( ( F `  z )  e.  _V  <->  E. u  u  =  ( F `  z ) )
2321, 22sylibr 134 . . . . . 6  |-  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  ->  ( F `  z )  e.  _V )
2423a1i 9 . . . . 5  |-  ( ph  ->  ( E. u ( u  =  ( F `
 z )  /\  ( z F u  /\  u G w ) )  ->  ( F `  z )  e.  _V ) )
2512adantr 276 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  Fun  F )
26 fdm 5514 . . . . . . . . . . 11  |-  ( F : A --> B  ->  dom  F  =  A )
2710, 26syl 14 . . . . . . . . . 10  |-  ( ph  ->  dom  F  =  A )
2827eleq2d 2302 . . . . . . . . 9  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z  e.  A ) )
2928biimpar 297 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  z  e.  dom  F )
30 funfvex 5687 . . . . . . . 8  |-  ( ( Fun  F  /\  z  e.  dom  F )  -> 
( F `  z
)  e.  _V )
3125, 29, 30syl2anc 411 . . . . . . 7  |-  ( (
ph  /\  z  e.  A )  ->  ( F `  z )  e.  _V )
3231adantrr 479 . . . . . 6  |-  ( (
ph  /\  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) )  -> 
( F `  z
)  e.  _V )
3332ex 115 . . . . 5  |-  ( ph  ->  ( ( z  e.  A  /\  w  = 
[_ z  /  x ]_ T )  ->  ( F `  z )  e.  _V ) )
34 breq2 4113 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
z F u  <->  z F
( F `  z
) ) )
35 breq1 4112 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
u G w  <->  ( F `  z ) G w ) )
3634, 35anbi12d 473 . . . . . . . 8  |-  ( u  =  ( F `  z )  ->  (
( z F u  /\  u G w )  <->  ( z F ( F `  z
)  /\  ( F `  z ) G w ) ) )
3736ceqsexgv 2946 . . . . . . 7  |-  ( ( F `  z )  e.  _V  ->  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  <-> 
( z F ( F `  z )  /\  ( F `  z ) G w ) ) )
38 funfvbrb 5791 . . . . . . . . . . 11  |-  ( Fun 
F  ->  ( z  e.  dom  F  <->  z F
( F `  z
) ) )
3912, 38syl 14 . . . . . . . . . 10  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z F ( F `
 z ) ) )
4039, 28bitr3d 190 . . . . . . . . 9  |-  ( ph  ->  ( z F ( F `  z )  <-> 
z  e.  A ) )
418fveq1d 5672 . . . . . . . . . 10  |-  ( ph  ->  ( F `  z
)  =  ( ( x  e.  A  |->  R ) `  z ) )
42 fmptco.3 . . . . . . . . . 10  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
43 eqidd 2233 . . . . . . . . . 10  |-  ( ph  ->  w  =  w )
4441, 42, 43breq123d 4123 . . . . . . . . 9  |-  ( ph  ->  ( ( F `  z ) G w  <-> 
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w ) )
4540, 44anbi12d 473 . . . . . . . 8  |-  ( ph  ->  ( ( z F ( F `  z
)  /\  ( F `  z ) G w )  <->  ( z  e.  A  /\  ( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w ) ) )
46 nfcv 2384 . . . . . . . . . . 11  |-  F/_ x
z
47 nfv 1577 . . . . . . . . . . . 12  |-  F/ x ph
48 nffvmpt1 5681 . . . . . . . . . . . . . 14  |-  F/_ x
( ( x  e.  A  |->  R ) `  z )
49 nfcv 2384 . . . . . . . . . . . . . 14  |-  F/_ x
( y  e.  B  |->  S )
50 nfcv 2384 . . . . . . . . . . . . . 14  |-  F/_ x w
5148, 49, 50nfbr 4156 . . . . . . . . . . . . 13  |-  F/ x
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w
52 nfcsb1v 3171 . . . . . . . . . . . . . 14  |-  F/_ x [_ z  /  x ]_ T
5352nfeq2 2396 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ z  /  x ]_ T
5451, 53nfbi 1638 . . . . . . . . . . . 12  |-  F/ x
( ( ( x  e.  A  |->  R ) `
 z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T )
5547, 54nfim 1621 . . . . . . . . . . 11  |-  F/ x
( ph  ->  ( ( ( x  e.  A  |->  R ) `  z
) ( y  e.  B  |->  S ) w  <-> 
w  =  [_ z  /  x ]_ T ) )
56 fveq2 5670 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( x  e.  A  |->  R ) `  x
)  =  ( ( x  e.  A  |->  R ) `  z ) )
5756breq1d 4119 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
( ( x  e.  A  |->  R ) `  x ) ( y  e.  B  |->  S ) w  <->  ( ( x  e.  A  |->  R ) `
 z ) ( y  e.  B  |->  S ) w ) )
58 csbeq1a 3147 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  T  =  [_ z  /  x ]_ T )
5958eqeq2d 2244 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
w  =  T  <->  w  =  [_ z  /  x ]_ T ) )
6057, 59bibi12d 235 . . . . . . . . . . . 12  |-  ( x  =  z  ->  (
( ( ( x  e.  A  |->  R ) `
 x ) ( y  e.  B  |->  S ) w  <->  w  =  T )  <->  ( (
( x  e.  A  |->  R ) `  z
) ( y  e.  B  |->  S ) w  <-> 
w  =  [_ z  /  x ]_ T ) ) )
6160imbi2d 230 . . . . . . . . . . 11  |-  ( x  =  z  ->  (
( ph  ->  ( ( ( x  e.  A  |->  R ) `  x
) ( y  e.  B  |->  S ) w  <-> 
w  =  T ) )  <->  ( ph  ->  ( ( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T ) ) ) )
62 vex 2816 . . . . . . . . . . . . . 14  |-  w  e. 
_V
63 simpl 109 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  y  =  R )
6463eleq1d 2301 . . . . . . . . . . . . . . . 16  |-  ( ( y  =  R  /\  u  =  w )  ->  ( y  e.  B  <->  R  e.  B ) )
65 simpr 110 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  u  =  w )
66 fmptco.4 . . . . . . . . . . . . . . . . . 18  |-  ( y  =  R  ->  S  =  T )
6766adantr 276 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  S  =  T )
6865, 67eqeq12d 2247 . . . . . . . . . . . . . . . 16  |-  ( ( y  =  R  /\  u  =  w )  ->  ( u  =  S  <-> 
w  =  T ) )
6964, 68anbi12d 473 . . . . . . . . . . . . . . 15  |-  ( ( y  =  R  /\  u  =  w )  ->  ( ( y  e.  B  /\  u  =  S )  <->  ( R  e.  B  /\  w  =  T ) ) )
70 df-mpt 4173 . . . . . . . . . . . . . . 15  |-  ( y  e.  B  |->  S )  =  { <. y ,  u >.  |  (
y  e.  B  /\  u  =  S ) }
7169, 70brabga 4382 . . . . . . . . . . . . . 14  |-  ( ( R  e.  B  /\  w  e.  _V )  ->  ( R ( y  e.  B  |->  S ) w  <->  ( R  e.  B  /\  w  =  T ) ) )
725, 62, 71sylancl 413 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  A )  ->  ( R ( y  e.  B  |->  S ) w  <-> 
( R  e.  B  /\  w  =  T
) ) )
73 simpr 110 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  A )  ->  x  e.  A )
746fvmpt2 5761 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  A  /\  R  e.  B )  ->  ( ( x  e.  A  |->  R ) `  x )  =  R )
7573, 5, 74syl2anc 411 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  A )  ->  (
( x  e.  A  |->  R ) `  x
)  =  R )
7675breq1d 4119 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  A )  ->  (
( ( x  e.  A  |->  R ) `  x ) ( y  e.  B  |->  S ) w  <->  R ( y  e.  B  |->  S ) w ) )
775biantrurd 305 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  A )  ->  (
w  =  T  <->  ( R  e.  B  /\  w  =  T ) ) )
7872, 76, 773bitr4d 220 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  A )  ->  (
( ( x  e.  A  |->  R ) `  x ) ( y  e.  B  |->  S ) w  <->  w  =  T
) )
7978expcom 116 . . . . . . . . . . 11  |-  ( x  e.  A  ->  ( ph  ->  ( ( ( x  e.  A  |->  R ) `  x ) ( y  e.  B  |->  S ) w  <->  w  =  T ) ) )
8046, 55, 61, 79vtoclgaf 2880 . . . . . . . . . 10  |-  ( z  e.  A  ->  ( ph  ->  ( ( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T ) ) )
8180impcom 125 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  A )  ->  (
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T ) )
8281pm5.32da 452 . . . . . . . 8  |-  ( ph  ->  ( ( z  e.  A  /\  ( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w )  <-> 
( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) )
8345, 82bitrd 188 . . . . . . 7  |-  ( ph  ->  ( ( z F ( F `  z
)  /\  ( F `  z ) G w )  <->  ( z  e.  A  /\  w  = 
[_ z  /  x ]_ T ) ) )
8437, 83sylan9bbr 463 . . . . . 6  |-  ( (
ph  /\  ( F `  z )  e.  _V )  ->  ( E. u
( u  =  ( F `  z )  /\  ( z F u  /\  u G w ) )  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) )
8584ex 115 . . . . 5  |-  ( ph  ->  ( ( F `  z )  e.  _V  ->  ( E. u ( u  =  ( F `
 z )  /\  ( z F u  /\  u G w ) )  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) ) )
8624, 33, 85pm5.21ndd 713 . . . 4  |-  ( ph  ->  ( E. u ( u  =  ( F `
 z )  /\  ( z F u  /\  u G w ) )  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) )
8720, 86bitrd 188 . . 3  |-  ( ph  ->  ( E. u ( z F u  /\  u G w )  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) )
88 vex 2816 . . . 4  |-  z  e. 
_V
8988, 62opelco 4927 . . 3  |-  ( <.
z ,  w >.  e.  ( G  o.  F
)  <->  E. u ( z F u  /\  u G w ) )
90 df-mpt 4173 . . . . 5  |-  ( x  e.  A  |->  T )  =  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) }
9190eleq2i 2299 . . . 4  |-  ( <.
z ,  w >.  e.  ( x  e.  A  |->  T )  <->  <. z ,  w >.  e.  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) } )
92 nfv 1577 . . . . . 6  |-  F/ x  z  e.  A
9352nfeq2 2396 . . . . . 6  |-  F/ x  v  =  [_ z  /  x ]_ T
9492, 93nfan 1614 . . . . 5  |-  F/ x
( z  e.  A  /\  v  =  [_ z  /  x ]_ T )
95 nfv 1577 . . . . 5  |-  F/ v ( z  e.  A  /\  w  =  [_ z  /  x ]_ T )
96 eleq1 2295 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  A  <->  z  e.  A ) )
9758eqeq2d 2244 . . . . . 6  |-  ( x  =  z  ->  (
v  =  T  <->  v  =  [_ z  /  x ]_ T ) )
9896, 97anbi12d 473 . . . . 5  |-  ( x  =  z  ->  (
( x  e.  A  /\  v  =  T
)  <->  ( z  e.  A  /\  v  = 
[_ z  /  x ]_ T ) ) )
99 eqeq1 2239 . . . . . 6  |-  ( v  =  w  ->  (
v  =  [_ z  /  x ]_ T  <->  w  =  [_ z  /  x ]_ T ) )
10099anbi2d 464 . . . . 5  |-  ( v  =  w  ->  (
( z  e.  A  /\  v  =  [_ z  /  x ]_ T )  <-> 
( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) ) )
10194, 95, 88, 62, 98, 100opelopabf 4393 . . . 4  |-  ( <.
z ,  w >.  e. 
{ <. x ,  v
>.  |  ( x  e.  A  /\  v  =  T ) }  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) )
10291, 101bitri 184 . . 3  |-  ( <.
z ,  w >.  e.  ( x  e.  A  |->  T )  <->  ( z  e.  A  /\  w  =  [_ z  /  x ]_ T ) )
10387, 89, 1023bitr4g 223 . 2  |-  ( ph  ->  ( <. z ,  w >.  e.  ( G  o.  F )  <->  <. z ,  w >.  e.  (
x  e.  A  |->  T ) ) )
1041, 4, 103eqrelrdv 4846 1  |-  ( ph  ->  ( G  o.  F
)  =  ( x  e.  A  |->  T ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1398   E.wex 1541    e. wcel 2203   _Vcvv 2813   [_csb 3138   <.cop 3692   class class class wbr 4109   {copab 4170    |-> cmpt 4171   dom cdm 4749    o. ccom 4753   Rel wrel 4754   Fun wfun 5346   -->wf 5348   ` cfv 5352
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-io 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-14 2206  ax-ext 2214  ax-sep 4228  ax-pow 4287  ax-pr 4322
This theorem depends on definitions:  df-bi 117  df-3an 1007  df-tru 1401  df-nf 1510  df-sb 1812  df-eu 2083  df-mo 2084  df-clab 2219  df-cleq 2225  df-clel 2228  df-nfc 2373  df-ral 2525  df-rex 2526  df-rab 2529  df-v 2815  df-sbc 3043  df-csb 3139  df-un 3215  df-in 3217  df-ss 3224  df-pw 3671  df-sn 3695  df-pr 3696  df-op 3698  df-uni 3915  df-br 4110  df-opab 4172  df-mpt 4173  df-id 4414  df-xp 4755  df-rel 4756  df-cnv 4757  df-co 4758  df-dm 4759  df-rn 4760  df-res 4761  df-ima 4762  df-iota 5312  df-fun 5354  df-fn 5355  df-f 5356  df-fv 5360
This theorem is referenced by:  fmptcof  5844  cofmpt  5846  fcompt  5847  fcoconst  5848  ofco  6285  prdsidlem  13660  pws0g  13664  pwsinvg  13825  pwssub  13826  gsumfzmhm2  14061  psrlinv  14839  lmcn2  15145  cdivcncfap  15469  negfcncf  15471  dvcj  15574  dvfre  15575  dvmptcjx  15589  plyco  15624  plycjlemc  15625
  Copyright terms: Public domain W3C validator