This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Every composite function ( G o. F ) can be written as composition of restrictions of the composed functions (to their minimum domains). (Contributed by GL and AV, 17-Sep-2024)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | fcores.f | |- ( ph -> F : A --> B ) |
|
| fcores.e | |- E = ( ran F i^i C ) |
||
| fcores.p | |- P = ( `' F " C ) |
||
| fcores.x | |- X = ( F |` P ) |
||
| fcores.g | |- ( ph -> G : C --> D ) |
||
| fcores.y | |- Y = ( G |` E ) |
||
| Assertion | fcores | |- ( ph -> ( G o. F ) = ( Y o. X ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fcores.f | |- ( ph -> F : A --> B ) |
|
| 2 | fcores.e | |- E = ( ran F i^i C ) |
|
| 3 | fcores.p | |- P = ( `' F " C ) |
|
| 4 | fcores.x | |- X = ( F |` P ) |
|
| 5 | fcores.g | |- ( ph -> G : C --> D ) |
|
| 6 | fcores.y | |- Y = ( G |` E ) |
|
| 7 | 1 | ffund | |- ( ph -> Fun F ) |
| 8 | fcof | |- ( ( G : C --> D /\ Fun F ) -> ( G o. F ) : ( `' F " C ) --> D ) |
|
| 9 | 5 7 8 | syl2anc | |- ( ph -> ( G o. F ) : ( `' F " C ) --> D ) |
| 10 | 9 | ffnd | |- ( ph -> ( G o. F ) Fn ( `' F " C ) ) |
| 11 | 3 | fneq2i | |- ( ( G o. F ) Fn P <-> ( G o. F ) Fn ( `' F " C ) ) |
| 12 | 10 11 | sylibr | |- ( ph -> ( G o. F ) Fn P ) |
| 13 | 1 2 3 4 5 6 | fcoreslem4 | |- ( ph -> ( Y o. X ) Fn P ) |
| 14 | 4 | fveq1i | |- ( X ` x ) = ( ( F |` P ) ` x ) |
| 15 | simpr | |- ( ( ph /\ x e. P ) -> x e. P ) |
|
| 16 | 15 | fvresd | |- ( ( ph /\ x e. P ) -> ( ( F |` P ) ` x ) = ( F ` x ) ) |
| 17 | 14 16 | eqtrid | |- ( ( ph /\ x e. P ) -> ( X ` x ) = ( F ` x ) ) |
| 18 | 17 | fveq2d | |- ( ( ph /\ x e. P ) -> ( Y ` ( X ` x ) ) = ( Y ` ( F ` x ) ) ) |
| 19 | 6 | fveq1i | |- ( Y ` ( F ` x ) ) = ( ( G |` E ) ` ( F ` x ) ) |
| 20 | cnvimass | |- ( `' F " C ) C_ dom F |
|
| 21 | 3 20 | eqsstri | |- P C_ dom F |
| 22 | 21 | sseli | |- ( x e. P -> x e. dom F ) |
| 23 | fvelrn | |- ( ( Fun F /\ x e. dom F ) -> ( F ` x ) e. ran F ) |
|
| 24 | 7 22 23 | syl2an | |- ( ( ph /\ x e. P ) -> ( F ` x ) e. ran F ) |
| 25 | 3 | eleq2i | |- ( x e. P <-> x e. ( `' F " C ) ) |
| 26 | 25 | biimpi | |- ( x e. P -> x e. ( `' F " C ) ) |
| 27 | fvimacnvi | |- ( ( Fun F /\ x e. ( `' F " C ) ) -> ( F ` x ) e. C ) |
|
| 28 | 7 26 27 | syl2an | |- ( ( ph /\ x e. P ) -> ( F ` x ) e. C ) |
| 29 | 24 28 | elind | |- ( ( ph /\ x e. P ) -> ( F ` x ) e. ( ran F i^i C ) ) |
| 30 | 29 2 | eleqtrrdi | |- ( ( ph /\ x e. P ) -> ( F ` x ) e. E ) |
| 31 | 30 | fvresd | |- ( ( ph /\ x e. P ) -> ( ( G |` E ) ` ( F ` x ) ) = ( G ` ( F ` x ) ) ) |
| 32 | 19 31 | eqtrid | |- ( ( ph /\ x e. P ) -> ( Y ` ( F ` x ) ) = ( G ` ( F ` x ) ) ) |
| 33 | 18 32 | eqtrd | |- ( ( ph /\ x e. P ) -> ( Y ` ( X ` x ) ) = ( G ` ( F ` x ) ) ) |
| 34 | 1 2 3 4 | fcoreslem3 | |- ( ph -> X : P -onto-> E ) |
| 35 | fof | |- ( X : P -onto-> E -> X : P --> E ) |
|
| 36 | 34 35 | syl | |- ( ph -> X : P --> E ) |
| 37 | 36 | adantr | |- ( ( ph /\ x e. P ) -> X : P --> E ) |
| 38 | 37 15 | fvco3d | |- ( ( ph /\ x e. P ) -> ( ( Y o. X ) ` x ) = ( Y ` ( X ` x ) ) ) |
| 39 | 1 | adantr | |- ( ( ph /\ x e. P ) -> F : A --> B ) |
| 40 | 21 | a1i | |- ( ph -> P C_ dom F ) |
| 41 | 40 | sselda | |- ( ( ph /\ x e. P ) -> x e. dom F ) |
| 42 | 1 | fdmd | |- ( ph -> dom F = A ) |
| 43 | 42 | eqcomd | |- ( ph -> A = dom F ) |
| 44 | 43 | eleq2d | |- ( ph -> ( x e. A <-> x e. dom F ) ) |
| 45 | 44 | adantr | |- ( ( ph /\ x e. P ) -> ( x e. A <-> x e. dom F ) ) |
| 46 | 41 45 | mpbird | |- ( ( ph /\ x e. P ) -> x e. A ) |
| 47 | 39 46 | fvco3d | |- ( ( ph /\ x e. P ) -> ( ( G o. F ) ` x ) = ( G ` ( F ` x ) ) ) |
| 48 | 33 38 47 | 3eqtr4rd | |- ( ( ph /\ x e. P ) -> ( ( G o. F ) ` x ) = ( ( Y o. X ) ` x ) ) |
| 49 | 12 13 48 | eqfnfvd | |- ( ph -> ( G o. F ) = ( Y o. X ) ) |