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

Theorem fmptco 5769
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 5200 . 2  |-  Rel  ( G  o.  F )
2 funmpt 5328 . . 3  |-  Fun  (
x  e.  A  |->  T )
3 funrel 5307 . . 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 2207 . . . . . . . . . . . . 13  |-  ( x  e.  A  |->  R )  =  ( x  e.  A  |->  R )
75, 6fmptd 5757 . . . . . . . . . . . 12  |-  ( ph  ->  ( x  e.  A  |->  R ) : A --> B )
8 fmptco.2 . . . . . . . . . . . . 13  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
98feq1d 5432 . . . . . . . . . . . 12  |-  ( ph  ->  ( F : A --> B 
<->  ( x  e.  A  |->  R ) : A --> B ) )
107, 9mpbird 167 . . . . . . . . . . 11  |-  ( ph  ->  F : A --> B )
11 ffun 5448 . . . . . . . . . . 11  |-  ( F : A --> B  ->  Fun  F )
1210, 11syl 14 . . . . . . . . . 10  |-  ( ph  ->  Fun  F )
13 funbrfv 5640 . . . . . . . . . . 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 2213 . . . . . . . 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 1849 . . . 4  |-  ( ph  ->  ( E. u ( z F u  /\  u G w )  <->  E. u
( u  =  ( F `  z )  /\  ( z F u  /\  u G w ) ) ) )
21 exsimpl 1641 . . . . . . 7  |-  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  ->  E. u  u  =  ( F `  z
) )
22 isset 2783 . . . . . . 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 5451 . . . . . . . . . . 11  |-  ( F : A --> B  ->  dom  F  =  A )
2710, 26syl 14 . . . . . . . . . 10  |-  ( ph  ->  dom  F  =  A )
2827eleq2d 2277 . . . . . . . . 9  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z  e.  A ) )
2928biimpar 297 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  z  e.  dom  F )
30 funfvex 5616 . . . . . . . 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 4063 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
z F u  <->  z F
( F `  z
) ) )
35 breq1 4062 . . . . . . . . 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 2909 . . . . . . 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 5716 . . . . . . . . . . 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 5601 . . . . . . . . . 10  |-  ( ph  ->  ( F `  z
)  =  ( ( x  e.  A  |->  R ) `  z ) )
42 fmptco.3 . . . . . . . . . 10  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
43 eqidd 2208 . . . . . . . . . 10  |-  ( ph  ->  w  =  w )
4441, 42, 43breq123d 4073 . . . . . . . . 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 2350 . . . . . . . . . . 11  |-  F/_ x
z
47 nfv 1552 . . . . . . . . . . . 12  |-  F/ x ph
48 nffvmpt1 5610 . . . . . . . . . . . . . 14  |-  F/_ x
( ( x  e.  A  |->  R ) `  z )
49 nfcv 2350 . . . . . . . . . . . . . 14  |-  F/_ x
( y  e.  B  |->  S )
50 nfcv 2350 . . . . . . . . . . . . . 14  |-  F/_ x w
5148, 49, 50nfbr 4106 . . . . . . . . . . . . 13  |-  F/ x
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w
52 nfcsb1v 3134 . . . . . . . . . . . . . 14  |-  F/_ x [_ z  /  x ]_ T
5352nfeq2 2362 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ z  /  x ]_ T
5451, 53nfbi 1613 . . . . . . . . . . . 12  |-  F/ x
( ( ( x  e.  A  |->  R ) `
 z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T )
5547, 54nfim 1596 . . . . . . . . . . 11  |-  F/ x
( ph  ->  ( ( ( x  e.  A  |->  R ) `  z
) ( y  e.  B  |->  S ) w  <-> 
w  =  [_ z  /  x ]_ T ) )
56 fveq2 5599 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( x  e.  A  |->  R ) `  x
)  =  ( ( x  e.  A  |->  R ) `  z ) )
5756breq1d 4069 . . . . . . . . . . . . 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 3110 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  T  =  [_ z  /  x ]_ T )
5958eqeq2d 2219 . . . . . . . . . . . . 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 2779 . . . . . . . . . . . . . 14  |-  w  e. 
_V
63 simpl 109 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  y  =  R )
6463eleq1d 2276 . . . . . . . . . . . . . . . 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 2222 . . . . . . . . . . . . . . . 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 4123 . . . . . . . . . . . . . . 15  |-  ( y  e.  B  |->  S )  =  { <. y ,  u >.  |  (
y  e.  B  /\  u  =  S ) }
7169, 70brabga 4328 . . . . . . . . . . . . . 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 5686 . . . . . . . . . . . . . . 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 4069 . . . . . . . . . . . . 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 2843 . . . . . . . . . 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 707 . . . 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 2779 . . . 4  |-  z  e. 
_V
8988, 62opelco 4868 . . 3  |-  ( <.
z ,  w >.  e.  ( G  o.  F
)  <->  E. u ( z F u  /\  u G w ) )
90 df-mpt 4123 . . . . 5  |-  ( x  e.  A  |->  T )  =  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) }
9190eleq2i 2274 . . . 4  |-  ( <.
z ,  w >.  e.  ( x  e.  A  |->  T )  <->  <. z ,  w >.  e.  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) } )
92 nfv 1552 . . . . . 6  |-  F/ x  z  e.  A
9352nfeq2 2362 . . . . . 6  |-  F/ x  v  =  [_ z  /  x ]_ T
9492, 93nfan 1589 . . . . 5  |-  F/ x
( z  e.  A  /\  v  =  [_ z  /  x ]_ T )
95 nfv 1552 . . . . 5  |-  F/ v ( z  e.  A  /\  w  =  [_ z  /  x ]_ T )
96 eleq1 2270 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  A  <->  z  e.  A ) )
9758eqeq2d 2219 . . . . . 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 2214 . . . . . 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 4339 . . . 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 4789 1  |-  ( ph  ->  ( G  o.  F
)  =  ( x  e.  A  |->  T ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1373   E.wex 1516    e. wcel 2178   _Vcvv 2776   [_csb 3101   <.cop 3646   class class class wbr 4059   {copab 4120    |-> cmpt 4121   dom cdm 4693    o. ccom 4697   Rel wrel 4698   Fun wfun 5284   -->wf 5286   ` cfv 5290
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 711  ax-5 1471  ax-7 1472  ax-gen 1473  ax-ie1 1517  ax-ie2 1518  ax-8 1528  ax-10 1529  ax-11 1530  ax-i12 1531  ax-bndl 1533  ax-4 1534  ax-17 1550  ax-i9 1554  ax-ial 1558  ax-i5r 1559  ax-14 2181  ax-ext 2189  ax-sep 4178  ax-pow 4234  ax-pr 4269
This theorem depends on definitions:  df-bi 117  df-3an 983  df-tru 1376  df-nf 1485  df-sb 1787  df-eu 2058  df-mo 2059  df-clab 2194  df-cleq 2200  df-clel 2203  df-nfc 2339  df-ral 2491  df-rex 2492  df-rab 2495  df-v 2778  df-sbc 3006  df-csb 3102  df-un 3178  df-in 3180  df-ss 3187  df-pw 3628  df-sn 3649  df-pr 3650  df-op 3652  df-uni 3865  df-br 4060  df-opab 4122  df-mpt 4123  df-id 4358  df-xp 4699  df-rel 4700  df-cnv 4701  df-co 4702  df-dm 4703  df-rn 4704  df-res 4705  df-ima 4706  df-iota 5251  df-fun 5292  df-fn 5293  df-f 5294  df-fv 5298
This theorem is referenced by:  fmptcof  5770  cofmpt  5772  fcompt  5773  fcoconst  5774  ofco  6200  prdsidlem  13394  pws0g  13398  pwsinvg  13559  pwssub  13560  gsumfzmhm2  13795  psrlinv  14561  lmcn2  14867  cdivcncfap  15191  negfcncf  15193  dvcj  15296  dvfre  15297  dvmptcjx  15311  plyco  15346  plycjlemc  15347
  Copyright terms: Public domain W3C validator