| Step |
Hyp |
Ref |
Expression |
| 1 |
|
lenco |
|- ( ( S e. Word A /\ F : A --> B ) -> ( # ` ( F o. S ) ) = ( # ` S ) ) |
| 2 |
1
|
3adant2 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( # ` ( F o. S ) ) = ( # ` S ) ) |
| 3 |
|
lenco |
|- ( ( T e. Word A /\ F : A --> B ) -> ( # ` ( F o. T ) ) = ( # ` T ) ) |
| 4 |
3
|
3adant1 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( # ` ( F o. T ) ) = ( # ` T ) ) |
| 5 |
2 4
|
oveq12d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) = ( ( # ` S ) + ( # ` T ) ) ) |
| 6 |
5
|
oveq2d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( 0 ..^ ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) ) = ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) |
| 7 |
6
|
mpteq1d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( x e. ( 0 ..^ ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) = ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) ) |
| 8 |
2
|
oveq2d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( 0 ..^ ( # ` ( F o. S ) ) ) = ( 0 ..^ ( # ` S ) ) ) |
| 9 |
8
|
adantr |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> ( 0 ..^ ( # ` ( F o. S ) ) ) = ( 0 ..^ ( # ` S ) ) ) |
| 10 |
9
|
eleq2d |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) <-> x e. ( 0 ..^ ( # ` S ) ) ) ) |
| 11 |
10
|
ifbid |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) |
| 12 |
|
wrdf |
|- ( S e. Word A -> S : ( 0 ..^ ( # ` S ) ) --> A ) |
| 13 |
12
|
3ad2ant1 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> S : ( 0 ..^ ( # ` S ) ) --> A ) |
| 14 |
13
|
adantr |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> S : ( 0 ..^ ( # ` S ) ) --> A ) |
| 15 |
14
|
ffnd |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> S Fn ( 0 ..^ ( # ` S ) ) ) |
| 16 |
|
fvco2 |
|- ( ( S Fn ( 0 ..^ ( # ` S ) ) /\ x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. S ) ` x ) = ( F ` ( S ` x ) ) ) |
| 17 |
15 16
|
sylan |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. S ) ` x ) = ( F ` ( S ` x ) ) ) |
| 18 |
|
iftrue |
|- ( x e. ( 0 ..^ ( # ` S ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) = ( F ` ( S ` x ) ) ) |
| 19 |
18
|
adantl |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ x e. ( 0 ..^ ( # ` S ) ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) = ( F ` ( S ` x ) ) ) |
| 20 |
17 19
|
eqtr4d |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. S ) ` x ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 21 |
|
wrdf |
|- ( T e. Word A -> T : ( 0 ..^ ( # ` T ) ) --> A ) |
| 22 |
21
|
3ad2ant2 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> T : ( 0 ..^ ( # ` T ) ) --> A ) |
| 23 |
22
|
ad2antrr |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> T : ( 0 ..^ ( # ` T ) ) --> A ) |
| 24 |
23
|
ffnd |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> T Fn ( 0 ..^ ( # ` T ) ) ) |
| 25 |
|
lencl |
|- ( S e. Word A -> ( # ` S ) e. NN0 ) |
| 26 |
25
|
nn0zd |
|- ( S e. Word A -> ( # ` S ) e. ZZ ) |
| 27 |
26
|
3ad2ant1 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( # ` S ) e. ZZ ) |
| 28 |
|
fzospliti |
|- ( ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) /\ ( # ` S ) e. ZZ ) -> ( x e. ( 0 ..^ ( # ` S ) ) \/ x e. ( ( # ` S ) ..^ ( ( # ` S ) + ( # ` T ) ) ) ) ) |
| 29 |
28
|
ancoms |
|- ( ( ( # ` S ) e. ZZ /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> ( x e. ( 0 ..^ ( # ` S ) ) \/ x e. ( ( # ` S ) ..^ ( ( # ` S ) + ( # ` T ) ) ) ) ) |
| 30 |
27 29
|
sylan |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> ( x e. ( 0 ..^ ( # ` S ) ) \/ x e. ( ( # ` S ) ..^ ( ( # ` S ) + ( # ` T ) ) ) ) ) |
| 31 |
30
|
orcanai |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> x e. ( ( # ` S ) ..^ ( ( # ` S ) + ( # ` T ) ) ) ) |
| 32 |
|
lencl |
|- ( T e. Word A -> ( # ` T ) e. NN0 ) |
| 33 |
32
|
nn0zd |
|- ( T e. Word A -> ( # ` T ) e. ZZ ) |
| 34 |
33
|
3ad2ant2 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( # ` T ) e. ZZ ) |
| 35 |
34
|
ad2antrr |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( # ` T ) e. ZZ ) |
| 36 |
|
fzosubel3 |
|- ( ( x e. ( ( # ` S ) ..^ ( ( # ` S ) + ( # ` T ) ) ) /\ ( # ` T ) e. ZZ ) -> ( x - ( # ` S ) ) e. ( 0 ..^ ( # ` T ) ) ) |
| 37 |
31 35 36
|
syl2anc |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( x - ( # ` S ) ) e. ( 0 ..^ ( # ` T ) ) ) |
| 38 |
|
fvco2 |
|- ( ( T Fn ( 0 ..^ ( # ` T ) ) /\ ( x - ( # ` S ) ) e. ( 0 ..^ ( # ` T ) ) ) -> ( ( F o. T ) ` ( x - ( # ` S ) ) ) = ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) |
| 39 |
24 37 38
|
syl2anc |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. T ) ` ( x - ( # ` S ) ) ) = ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) |
| 40 |
2
|
oveq2d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( x - ( # ` ( F o. S ) ) ) = ( x - ( # ` S ) ) ) |
| 41 |
40
|
fveq2d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) = ( ( F o. T ) ` ( x - ( # ` S ) ) ) ) |
| 42 |
41
|
ad2antrr |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) = ( ( F o. T ) ` ( x - ( # ` S ) ) ) ) |
| 43 |
|
iffalse |
|- ( -. x e. ( 0 ..^ ( # ` S ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) = ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) |
| 44 |
43
|
adantl |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) = ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) |
| 45 |
39 42 44
|
3eqtr4d |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 46 |
20 45
|
ifeqda |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 47 |
11 46
|
eqtrd |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 48 |
47
|
mpteq2dva |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) = ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) ) |
| 49 |
7 48
|
eqtr2d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) = ( x e. ( 0 ..^ ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) ) |
| 50 |
14
|
ffvelcdmda |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ x e. ( 0 ..^ ( # ` S ) ) ) -> ( S ` x ) e. A ) |
| 51 |
23 37
|
ffvelcdmd |
|- ( ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) /\ -. x e. ( 0 ..^ ( # ` S ) ) ) -> ( T ` ( x - ( # ` S ) ) ) e. A ) |
| 52 |
50 51
|
ifclda |
|- ( ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) /\ x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) ) -> if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) e. A ) |
| 53 |
|
ccatfval |
|- ( ( S e. Word A /\ T e. Word A ) -> ( S ++ T ) = ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 54 |
53
|
3adant3 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( S ++ T ) = ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 55 |
|
simp3 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> F : A --> B ) |
| 56 |
55
|
feqmptd |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> F = ( y e. A |-> ( F ` y ) ) ) |
| 57 |
|
fveq2 |
|- ( y = if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) -> ( F ` y ) = ( F ` if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 58 |
|
fvif |
|- ( F ` if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) |
| 59 |
57 58
|
eqtrdi |
|- ( y = if ( x e. ( 0 ..^ ( # ` S ) ) , ( S ` x ) , ( T ` ( x - ( # ` S ) ) ) ) -> ( F ` y ) = if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) |
| 60 |
52 54 56 59
|
fmptco |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( F o. ( S ++ T ) ) = ( x e. ( 0 ..^ ( ( # ` S ) + ( # ` T ) ) ) |-> if ( x e. ( 0 ..^ ( # ` S ) ) , ( F ` ( S ` x ) ) , ( F ` ( T ` ( x - ( # ` S ) ) ) ) ) ) ) |
| 61 |
|
ffun |
|- ( F : A --> B -> Fun F ) |
| 62 |
61
|
3ad2ant3 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> Fun F ) |
| 63 |
|
simp1 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> S e. Word A ) |
| 64 |
|
cofunexg |
|- ( ( Fun F /\ S e. Word A ) -> ( F o. S ) e. _V ) |
| 65 |
62 63 64
|
syl2anc |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( F o. S ) e. _V ) |
| 66 |
|
simp2 |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> T e. Word A ) |
| 67 |
|
cofunexg |
|- ( ( Fun F /\ T e. Word A ) -> ( F o. T ) e. _V ) |
| 68 |
62 66 67
|
syl2anc |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( F o. T ) e. _V ) |
| 69 |
|
ccatfval |
|- ( ( ( F o. S ) e. _V /\ ( F o. T ) e. _V ) -> ( ( F o. S ) ++ ( F o. T ) ) = ( x e. ( 0 ..^ ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) ) |
| 70 |
65 68 69
|
syl2anc |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( ( F o. S ) ++ ( F o. T ) ) = ( x e. ( 0 ..^ ( ( # ` ( F o. S ) ) + ( # ` ( F o. T ) ) ) ) |-> if ( x e. ( 0 ..^ ( # ` ( F o. S ) ) ) , ( ( F o. S ) ` x ) , ( ( F o. T ) ` ( x - ( # ` ( F o. S ) ) ) ) ) ) ) |
| 71 |
49 60 70
|
3eqtr4d |
|- ( ( S e. Word A /\ T e. Word A /\ F : A --> B ) -> ( F o. ( S ++ T ) ) = ( ( F o. S ) ++ ( F o. T ) ) ) |