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

Theorem fmptco 5848
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 5266 . 2  |-  Rel  ( G  o.  F )
2 funmpt 5395 . . 3  |-  Fun  (
x  e.  A  |->  T )
3 funrel 5374 . . 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 2234 . . . . . . . . . . . . 13  |-  ( x  e.  A  |->  R )  =  ( x  e.  A  |->  R )
75, 6fmptd 5836 . . . . . . . . . . . 12  |-  ( ph  ->  ( x  e.  A  |->  R ) : A --> B )
8 fmptco.2 . . . . . . . . . . . . 13  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
98feq1d 5500 . . . . . . . . . . . 12  |-  ( ph  ->  ( F : A --> B 
<->  ( x  e.  A  |->  R ) : A --> B ) )
107, 9mpbird 167 . . . . . . . . . . 11  |-  ( ph  ->  F : A --> B )
11 ffun 5516 . . . . . . . . . . 11  |-  ( F : A --> B  ->  Fun  F )
1210, 11syl 14 . . . . . . . . . 10  |-  ( ph  ->  Fun  F )
13 funbrfv 5718 . . . . . . . . . . 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 2240 . . . . . . . 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 2822 . . . . . . 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 5519 . . . . . . . . . . 11  |-  ( F : A --> B  ->  dom  F  =  A )
2710, 26syl 14 . . . . . . . . . 10  |-  ( ph  ->  dom  F  =  A )
2827eleq2d 2304 . . . . . . . . 9  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z  e.  A ) )
2928biimpar 297 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  z  e.  dom  F )
30 funfvex 5692 . . . . . . . 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 4118 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
z F u  <->  z F
( F `  z
) ) )
35 breq1 4117 . . . . . . . . 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 2949 . . . . . . 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 5796 . . . . . . . . . . 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 5677 . . . . . . . . . 10  |-  ( ph  ->  ( F `  z
)  =  ( ( x  e.  A  |->  R ) `  z ) )
42 fmptco.3 . . . . . . . . . 10  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
43 eqidd 2235 . . . . . . . . . 10  |-  ( ph  ->  w  =  w )
4441, 42, 43breq123d 4128 . . . . . . . . 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 2386 . . . . . . . . . . 11  |-  F/_ x
z
47 nfv 1577 . . . . . . . . . . . 12  |-  F/ x ph
48 nffvmpt1 5686 . . . . . . . . . . . . . 14  |-  F/_ x
( ( x  e.  A  |->  R ) `  z )
49 nfcv 2386 . . . . . . . . . . . . . 14  |-  F/_ x
( y  e.  B  |->  S )
50 nfcv 2386 . . . . . . . . . . . . . 14  |-  F/_ x w
5148, 49, 50nfbr 4161 . . . . . . . . . . . . 13  |-  F/ x
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w
52 nfcsb1v 3174 . . . . . . . . . . . . . 14  |-  F/_ x [_ z  /  x ]_ T
5352nfeq2 2398 . . . . . . . . . . . . 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 5675 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( x  e.  A  |->  R ) `  x
)  =  ( ( x  e.  A  |->  R ) `  z ) )
5756breq1d 4124 . . . . . . . . . . . . 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 3150 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  T  =  [_ z  /  x ]_ T )
5958eqeq2d 2246 . . . . . . . . . . . . 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 2818 . . . . . . . . . . . . . 14  |-  w  e. 
_V
63 simpl 109 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  y  =  R )
6463eleq1d 2303 . . . . . . . . . . . . . . . 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 2249 . . . . . . . . . . . . . . . 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 4178 . . . . . . . . . . . . . . 15  |-  ( y  e.  B  |->  S )  =  { <. y ,  u >.  |  (
y  e.  B  /\  u  =  S ) }
7169, 70brabga 4387 . . . . . . . . . . . . . 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 5766 . . . . . . . . . . . . . . 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 4124 . . . . . . . . . . . . 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 2882 . . . . . . . . . 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 2818 . . . 4  |-  z  e. 
_V
8988, 62opelco 4932 . . 3  |-  ( <.
z ,  w >.  e.  ( G  o.  F
)  <->  E. u ( z F u  /\  u G w ) )
90 df-mpt 4178 . . . . 5  |-  ( x  e.  A  |->  T )  =  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) }
9190eleq2i 2301 . . . 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 2398 . . . . . 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 2297 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  A  <->  z  e.  A ) )
9758eqeq2d 2246 . . . . . 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 2241 . . . . . 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 4398 . . . 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 4851 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 2205   _Vcvv 2815   [_csb 3141   <.cop 3697   class class class wbr 4114   {copab 4175    |-> cmpt 4176   dom cdm 4754    o. ccom 4758   Rel wrel 4759   Fun wfun 5351   -->wf 5353   ` cfv 5357
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 2208  ax-ext 2216  ax-sep 4233  ax-pow 4292  ax-pr 4327
This theorem depends on definitions:  df-bi 117  df-3an 1007  df-tru 1401  df-nf 1510  df-sb 1812  df-eu 2085  df-mo 2086  df-clab 2221  df-cleq 2227  df-clel 2230  df-nfc 2375  df-ral 2527  df-rex 2528  df-rab 2531  df-v 2817  df-sbc 3046  df-csb 3142  df-un 3218  df-in 3220  df-ss 3227  df-pw 3676  df-sn 3700  df-pr 3701  df-op 3703  df-uni 3920  df-br 4115  df-opab 4177  df-mpt 4178  df-id 4419  df-xp 4760  df-rel 4761  df-cnv 4762  df-co 4763  df-dm 4764  df-rn 4765  df-res 4766  df-ima 4767  df-iota 5317  df-fun 5359  df-fn 5360  df-f 5361  df-fv 5365
This theorem is referenced by:  fmptcof  5849  cofmpt  5851  fcompt  5852  fcoconst  5853  ofco  6294  gsumfzmhm2  14097  prdsidlem  14135  pws0g  14155  pwsinvg  14157  pwssub  14158  psrlinv  14965  lmcn2  15271  cdivcncfap  15595  negfcncf  15597  dvcj  15700  dvfre  15701  dvmptcjx  15715  plyco  15750  plycjlemc  15751
  Copyright terms: Public domain W3C validator