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

Theorem fmptco 5678
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 5123 . 2  |-  Rel  ( G  o.  F )
2 funmpt 5250 . . 3  |-  Fun  (
x  e.  A  |->  T )
3 funrel 5229 . . 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 2177 . . . . . . . . . . . . 13  |-  ( x  e.  A  |->  R )  =  ( x  e.  A  |->  R )
75, 6fmptd 5666 . . . . . . . . . . . 12  |-  ( ph  ->  ( x  e.  A  |->  R ) : A --> B )
8 fmptco.2 . . . . . . . . . . . . 13  |-  ( ph  ->  F  =  ( x  e.  A  |->  R ) )
98feq1d 5348 . . . . . . . . . . . 12  |-  ( ph  ->  ( F : A --> B 
<->  ( x  e.  A  |->  R ) : A --> B ) )
107, 9mpbird 167 . . . . . . . . . . 11  |-  ( ph  ->  F : A --> B )
11 ffun 5364 . . . . . . . . . . 11  |-  ( F : A --> B  ->  Fun  F )
1210, 11syl 14 . . . . . . . . . 10  |-  ( ph  ->  Fun  F )
13 funbrfv 5550 . . . . . . . . . . 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 2183 . . . . . . . 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 1825 . . . 4  |-  ( ph  ->  ( E. u ( z F u  /\  u G w )  <->  E. u
( u  =  ( F `  z )  /\  ( z F u  /\  u G w ) ) ) )
21 exsimpl 1617 . . . . . . 7  |-  ( E. u ( u  =  ( F `  z
)  /\  ( z F u  /\  u G w ) )  ->  E. u  u  =  ( F `  z
) )
22 isset 2743 . . . . . . 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 5367 . . . . . . . . . . 11  |-  ( F : A --> B  ->  dom  F  =  A )
2710, 26syl 14 . . . . . . . . . 10  |-  ( ph  ->  dom  F  =  A )
2827eleq2d 2247 . . . . . . . . 9  |-  ( ph  ->  ( z  e.  dom  F  <-> 
z  e.  A ) )
2928biimpar 297 . . . . . . . 8  |-  ( (
ph  /\  z  e.  A )  ->  z  e.  dom  F )
30 funfvex 5528 . . . . . . . 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 4004 . . . . . . . . 9  |-  ( u  =  ( F `  z )  ->  (
z F u  <->  z F
( F `  z
) ) )
35 breq1 4003 . . . . . . . . 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 2866 . . . . . . 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 5625 . . . . . . . . . . 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 5513 . . . . . . . . . 10  |-  ( ph  ->  ( F `  z
)  =  ( ( x  e.  A  |->  R ) `  z ) )
42 fmptco.3 . . . . . . . . . 10  |-  ( ph  ->  G  =  ( y  e.  B  |->  S ) )
43 eqidd 2178 . . . . . . . . . 10  |-  ( ph  ->  w  =  w )
4441, 42, 43breq123d 4014 . . . . . . . . 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 2319 . . . . . . . . . . 11  |-  F/_ x
z
47 nfv 1528 . . . . . . . . . . . 12  |-  F/ x ph
48 nffvmpt1 5522 . . . . . . . . . . . . . 14  |-  F/_ x
( ( x  e.  A  |->  R ) `  z )
49 nfcv 2319 . . . . . . . . . . . . . 14  |-  F/_ x
( y  e.  B  |->  S )
50 nfcv 2319 . . . . . . . . . . . . . 14  |-  F/_ x w
5148, 49, 50nfbr 4046 . . . . . . . . . . . . 13  |-  F/ x
( ( x  e.  A  |->  R ) `  z ) ( y  e.  B  |->  S ) w
52 nfcsb1v 3090 . . . . . . . . . . . . . 14  |-  F/_ x [_ z  /  x ]_ T
5352nfeq2 2331 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ z  /  x ]_ T
5451, 53nfbi 1589 . . . . . . . . . . . 12  |-  F/ x
( ( ( x  e.  A  |->  R ) `
 z ) ( y  e.  B  |->  S ) w  <->  w  =  [_ z  /  x ]_ T )
5547, 54nfim 1572 . . . . . . . . . . 11  |-  F/ x
( ph  ->  ( ( ( x  e.  A  |->  R ) `  z
) ( y  e.  B  |->  S ) w  <-> 
w  =  [_ z  /  x ]_ T ) )
56 fveq2 5511 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( x  e.  A  |->  R ) `  x
)  =  ( ( x  e.  A  |->  R ) `  z ) )
5756breq1d 4010 . . . . . . . . . . . . 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 3066 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  T  =  [_ z  /  x ]_ T )
5958eqeq2d 2189 . . . . . . . . . . . . 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 2740 . . . . . . . . . . . . . 14  |-  w  e. 
_V
63 simpl 109 . . . . . . . . . . . . . . . . 17  |-  ( ( y  =  R  /\  u  =  w )  ->  y  =  R )
6463eleq1d 2246 . . . . . . . . . . . . . . . 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 2192 . . . . . . . . . . . . . . . 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 4063 . . . . . . . . . . . . . . 15  |-  ( y  e.  B  |->  S )  =  { <. y ,  u >.  |  (
y  e.  B  /\  u  =  S ) }
7169, 70brabga 4261 . . . . . . . . . . . . . 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 5595 . . . . . . . . . . . . . . 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 4010 . . . . . . . . . . . . 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 2802 . . . . . . . . . 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 705 . . . 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 2740 . . . 4  |-  z  e. 
_V
8988, 62opelco 4795 . . 3  |-  ( <.
z ,  w >.  e.  ( G  o.  F
)  <->  E. u ( z F u  /\  u G w ) )
90 df-mpt 4063 . . . . 5  |-  ( x  e.  A  |->  T )  =  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) }
9190eleq2i 2244 . . . 4  |-  ( <.
z ,  w >.  e.  ( x  e.  A  |->  T )  <->  <. z ,  w >.  e.  { <. x ,  v >.  |  ( x  e.  A  /\  v  =  T ) } )
92 nfv 1528 . . . . . 6  |-  F/ x  z  e.  A
9352nfeq2 2331 . . . . . 6  |-  F/ x  v  =  [_ z  /  x ]_ T
9492, 93nfan 1565 . . . . 5  |-  F/ x
( z  e.  A  /\  v  =  [_ z  /  x ]_ T )
95 nfv 1528 . . . . 5  |-  F/ v ( z  e.  A  /\  w  =  [_ z  /  x ]_ T )
96 eleq1 2240 . . . . . 6  |-  ( x  =  z  ->  (
x  e.  A  <->  z  e.  A ) )
9758eqeq2d 2189 . . . . . 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 2184 . . . . . 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 4271 . . . 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 4719 1  |-  ( ph  ->  ( G  o.  F
)  =  ( x  e.  A  |->  T ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1353   E.wex 1492    e. wcel 2148   _Vcvv 2737   [_csb 3057   <.cop 3594   class class class wbr 4000   {copab 4060    |-> cmpt 4061   dom cdm 4623    o. ccom 4627   Rel wrel 4628   Fun wfun 5206   -->wf 5208   ` cfv 5212
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 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-14 2151  ax-ext 2159  ax-sep 4118  ax-pow 4171  ax-pr 4206
This theorem depends on definitions:  df-bi 117  df-3an 980  df-tru 1356  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ral 2460  df-rex 2461  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-un 3133  df-in 3135  df-ss 3142  df-pw 3576  df-sn 3597  df-pr 3598  df-op 3600  df-uni 3808  df-br 4001  df-opab 4062  df-mpt 4063  df-id 4290  df-xp 4629  df-rel 4630  df-cnv 4631  df-co 4632  df-dm 4633  df-rn 4634  df-res 4635  df-ima 4636  df-iota 5174  df-fun 5214  df-fn 5215  df-f 5216  df-fv 5220
This theorem is referenced by:  fmptcof  5679  cofmpt  5681  fcompt  5682  fcoconst  5683  ofco  6095  lmcn2  13447  cdivcncfap  13754  negfcncf  13756  dvcj  13840  dvfre  13841  dvmptcjx  13853
  Copyright terms: Public domain W3C validator