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

Theorem fmptco 5813
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 5235 . 2  |-  Rel  ( G  o.  F )
2 funmpt 5364 . . 3  |-  Fun  (
x  e.  A  |->  T )
3 funrel 5343 . . 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 2231 . . . . . . . . . . . . 13  |-  ( x  e.  A  |->  R )  =  ( x  e.  A  |->  R )
75, 6fmptd 5801 . . . . . . . . . . . 12  |-  ( ph  ->  ( x  e.  A  |->  R ) : A --> B )
8 fmptco.2 . . . . . . . . . . . . 13  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
98feq1d 5469 . . . . . . . . . . . 12  |-  ( ph  ->  ( F : A --> B 
<->  ( x  e.  A  |->  R ) : A --> B ) )
107, 9mpbird 167 . . . . . . . . . . 11  |-  ( ph  ->  F : A --> B )
11 ffun 5485 . . . . . . . . . . 11  |-  ( F : A --> B  ->  Fun  F )
1210, 11syl 14 . . . . . . . . . 10  |-  ( ph  ->  Fun  F )
13 funbrfv 5682 . . . . . . . . . . 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 2237 . . . . . . . 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 1873 . . . 4  |-  ( ph  ->  ( E. u ( z F u  /\  u G w )  <->  E. u
( u  =  ( F `  z )  /\  ( z F u  /\  u G w ) ) ) )
21 exsimpl 1665 . . . . . . 7  |-  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  ->  E. u  u  =  ( F `  z
) )
22 isset 2809 . . . . . . 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 5488 . . . . . . . . . . 11  |-  ( F : A --> B  ->  dom  F  =  A )
2710, 26syl 14 . . . . . . . . . 10  |-  ( ph  ->  dom  F  =  A )
2827eleq2d 2301 . . . . . . . . 9  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z  e.  A ) )
2928biimpar 297 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  z  e.  dom  F )
30 funfvex 5656 . . . . . . . 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 4092 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
z F u  <->  z F
( F `  z
) ) )
35 breq1 4091 . . . . . . . . 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 2935 . . . . . . 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 5760 . . . . . . . . . . 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 5641 . . . . . . . . . 10  |-  ( ph  ->  ( F `  z
)  =  ( ( x  e.  A  |->  R ) `  z ) )
42 fmptco.3 . . . . . . . . . 10  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
43 eqidd 2232 . . . . . . . . . 10  |-  ( ph  ->  w  =  w )
4441, 42, 43breq123d 4102 . . . . . . . . 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 2374 . . . . . . . . . . 11  |-  F/_ x
z
47 nfv 1576 . . . . . . . . . . . 12  |-  F/ x ph
48 nffvmpt1 5650 . . . . . . . . . . . . . 14  |-  F/_ x
( ( x  e.  A  |->  R ) `  z )
49 nfcv 2374 . . . . . . . . . . . . . 14  |-  F/_ x
( y  e.  B  |->  S )
50 nfcv 2374 . . . . . . . . . . . . . 14  |-  F/_ x w
5148, 49, 50nfbr 4135 . . . . . . . . . . . . 13  |-  F/ x
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w
52 nfcsb1v 3160 . . . . . . . . . . . . . 14  |-  F/_ x [_ z  /  x ]_ T
5352nfeq2 2386 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ z  /  x ]_ T
5451, 53nfbi 1637 . . . . . . . . . . . 12  |-  F/ x
( ( ( x  e.  A  |->  R ) `
 z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T )
5547, 54nfim 1620 . . . . . . . . . . 11  |-  F/ x
( ph  ->  ( ( ( x  e.  A  |->  R ) `  z
) ( y  e.  B  |->  S ) w  <-> 
w  =  [_ z  /  x ]_ T ) )
56 fveq2 5639 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( x  e.  A  |->  R ) `  x
)  =  ( ( x  e.  A  |->  R ) `  z ) )
5756breq1d 4098 . . . . . . . . . . . . 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 3136 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  T  =  [_ z  /  x ]_ T )
5958eqeq2d 2243 . . . . . . . . . . . . 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 2805 . . . . . . . . . . . . . 14  |-  w  e. 
_V
63 simpl 109 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  y  =  R )
6463eleq1d 2300 . . . . . . . . . . . . . . . 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 2246 . . . . . . . . . . . . . . . 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 4152 . . . . . . . . . . . . . . 15  |-  ( y  e.  B  |->  S )  =  { <. y ,  u >.  |  (
y  e.  B  /\  u  =  S ) }
7169, 70brabga 4358 . . . . . . . . . . . . . 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 5730 . . . . . . . . . . . . . . 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 4098 . . . . . . . . . . . . 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 2869 . . . . . . . . . 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 712 . . . 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 2805 . . . 4  |-  z  e. 
_V
8988, 62opelco 4902 . . 3  |-  ( <.
z ,  w >.  e.  ( G  o.  F
)  <->  E. u ( z F u  /\  u G w ) )
90 df-mpt 4152 . . . . 5  |-  ( x  e.  A  |->  T )  =  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) }
9190eleq2i 2298 . . . 4  |-  ( <.
z ,  w >.  e.  ( x  e.  A  |->  T )  <->  <. z ,  w >.  e.  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) } )
92 nfv 1576 . . . . . 6  |-  F/ x  z  e.  A
9352nfeq2 2386 . . . . . 6  |-  F/ x  v  =  [_ z  /  x ]_ T
9492, 93nfan 1613 . . . . 5  |-  F/ x
( z  e.  A  /\  v  =  [_ z  /  x ]_ T )
95 nfv 1576 . . . . 5  |-  F/ v ( z  e.  A  /\  w  =  [_ z  /  x ]_ T )
96 eleq1 2294 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  A  <->  z  e.  A ) )
9758eqeq2d 2243 . . . . . 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 2238 . . . . . 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 4369 . . . 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 4822 1  |-  ( ph  ->  ( G  o.  F
)  =  ( x  e.  A  |->  T ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1397   E.wex 1540    e. wcel 2202   _Vcvv 2802   [_csb 3127   <.cop 3672   class class class wbr 4088   {copab 4149    |-> cmpt 4150   dom cdm 4725    o. ccom 4729   Rel wrel 4730   Fun wfun 5320   -->wf 5322   ` cfv 5326
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 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-14 2205  ax-ext 2213  ax-sep 4207  ax-pow 4264  ax-pr 4299
This theorem depends on definitions:  df-bi 117  df-3an 1006  df-tru 1400  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ral 2515  df-rex 2516  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-un 3204  df-in 3206  df-ss 3213  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-br 4089  df-opab 4151  df-mpt 4152  df-id 4390  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-fv 5334
This theorem is referenced by:  fmptcof  5814  cofmpt  5816  fcompt  5817  fcoconst  5818  ofco  6253  prdsidlem  13529  pws0g  13533  pwsinvg  13694  pwssub  13695  gsumfzmhm2  13930  psrlinv  14697  lmcn2  15003  cdivcncfap  15327  negfcncf  15329  dvcj  15432  dvfre  15433  dvmptcjx  15447  plyco  15482  plycjlemc  15483
  Copyright terms: Public domain W3C validator