Step |
Hyp |
Ref |
Expression |
1 |
|
dmressnsn |
|- ( ( G ` X ) e. dom F -> dom ( F |` { ( G ` X ) } ) = { ( G ` X ) } ) |
2 |
|
df-fn |
|- ( ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } <-> ( Fun ( F |` { ( G ` X ) } ) /\ dom ( F |` { ( G ` X ) } ) = { ( G ` X ) } ) ) |
3 |
2
|
simplbi2com |
|- ( dom ( F |` { ( G ` X ) } ) = { ( G ` X ) } -> ( Fun ( F |` { ( G ` X ) } ) -> ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } ) ) |
4 |
1 3
|
syl |
|- ( ( G ` X ) e. dom F -> ( Fun ( F |` { ( G ` X ) } ) -> ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } ) ) |
5 |
4
|
imp |
|- ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) -> ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } ) |
6 |
5
|
adantr |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } ) |
7 |
|
fnsnfv |
|- ( ( G Fn A /\ X e. A ) -> { ( G ` X ) } = ( G " { X } ) ) |
8 |
7
|
adantl |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> { ( G ` X ) } = ( G " { X } ) ) |
9 |
|
df-ima |
|- ( G " { X } ) = ran ( G |` { X } ) |
10 |
8 9
|
eqtrdi |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> { ( G ` X ) } = ran ( G |` { X } ) ) |
11 |
10
|
reseq2d |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( F |` { ( G ` X ) } ) = ( F |` ran ( G |` { X } ) ) ) |
12 |
11 10
|
fneq12d |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( ( F |` { ( G ` X ) } ) Fn { ( G ` X ) } <-> ( F |` ran ( G |` { X } ) ) Fn ran ( G |` { X } ) ) ) |
13 |
6 12
|
mpbid |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( F |` ran ( G |` { X } ) ) Fn ran ( G |` { X } ) ) |
14 |
|
fnfun |
|- ( G Fn A -> Fun G ) |
15 |
|
funres |
|- ( Fun G -> Fun ( G |` { X } ) ) |
16 |
15
|
funfnd |
|- ( Fun G -> ( G |` { X } ) Fn dom ( G |` { X } ) ) |
17 |
14 16
|
syl |
|- ( G Fn A -> ( G |` { X } ) Fn dom ( G |` { X } ) ) |
18 |
17
|
adantr |
|- ( ( G Fn A /\ X e. A ) -> ( G |` { X } ) Fn dom ( G |` { X } ) ) |
19 |
18
|
adantl |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( G |` { X } ) Fn dom ( G |` { X } ) ) |
20 |
|
fnresfnco |
|- ( ( ( F |` ran ( G |` { X } ) ) Fn ran ( G |` { X } ) /\ ( G |` { X } ) Fn dom ( G |` { X } ) ) -> ( F o. ( G |` { X } ) ) Fn dom ( G |` { X } ) ) |
21 |
13 19 20
|
syl2anc |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> ( F o. ( G |` { X } ) ) Fn dom ( G |` { X } ) ) |
22 |
|
fnfun |
|- ( ( F o. ( G |` { X } ) ) Fn dom ( G |` { X } ) -> Fun ( F o. ( G |` { X } ) ) ) |
23 |
21 22
|
syl |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> Fun ( F o. ( G |` { X } ) ) ) |
24 |
|
resco |
|- ( ( F o. G ) |` { X } ) = ( F o. ( G |` { X } ) ) |
25 |
24
|
funeqi |
|- ( Fun ( ( F o. G ) |` { X } ) <-> Fun ( F o. ( G |` { X } ) ) ) |
26 |
23 25
|
sylibr |
|- ( ( ( ( G ` X ) e. dom F /\ Fun ( F |` { ( G ` X ) } ) ) /\ ( G Fn A /\ X e. A ) ) -> Fun ( ( F o. G ) |` { X } ) ) |