Step |
Hyp |
Ref |
Expression |
1 |
|
lenco |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) = ( ♯ ‘ 𝑆 ) ) |
2 |
1
|
3adant2 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) = ( ♯ ‘ 𝑆 ) ) |
3 |
|
lenco |
⊢ ( ( 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) = ( ♯ ‘ 𝑇 ) ) |
4 |
3
|
3adant1 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) = ( ♯ ‘ 𝑇 ) ) |
5 |
2 4
|
oveq12d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) = ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) |
6 |
5
|
oveq2d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 0 ..^ ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) ) = ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) |
7 |
6
|
mpteq1d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) ) |
8 |
2
|
oveq2d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) |
9 |
8
|
adantr |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) |
10 |
9
|
eleq2d |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ↔ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) ) |
11 |
10
|
ifbid |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) |
12 |
|
wrdf |
⊢ ( 𝑆 ∈ Word 𝐴 → 𝑆 : ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ⟶ 𝐴 ) |
13 |
12
|
3ad2ant1 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝑆 : ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ⟶ 𝐴 ) |
14 |
13
|
adantr |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → 𝑆 : ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ⟶ 𝐴 ) |
15 |
14
|
ffnd |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → 𝑆 Fn ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) |
16 |
|
fvco2 |
⊢ ( ( 𝑆 Fn ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ∧ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) = ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) ) |
17 |
15 16
|
sylan |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) = ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) ) |
18 |
|
iftrue |
⊢ ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) = ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) ) |
19 |
18
|
adantl |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) = ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) ) |
20 |
17 19
|
eqtr4d |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
21 |
|
wrdf |
⊢ ( 𝑇 ∈ Word 𝐴 → 𝑇 : ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ⟶ 𝐴 ) |
22 |
21
|
3ad2ant2 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝑇 : ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ⟶ 𝐴 ) |
23 |
22
|
ad2antrr |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → 𝑇 : ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ⟶ 𝐴 ) |
24 |
23
|
ffnd |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → 𝑇 Fn ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ) |
25 |
|
lencl |
⊢ ( 𝑆 ∈ Word 𝐴 → ( ♯ ‘ 𝑆 ) ∈ ℕ0 ) |
26 |
25
|
nn0zd |
⊢ ( 𝑆 ∈ Word 𝐴 → ( ♯ ‘ 𝑆 ) ∈ ℤ ) |
27 |
26
|
3ad2ant1 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ 𝑆 ) ∈ ℤ ) |
28 |
|
fzospliti |
⊢ ( ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ∧ ( ♯ ‘ 𝑆 ) ∈ ℤ ) → ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ∨ 𝑥 ∈ ( ( ♯ ‘ 𝑆 ) ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ) |
29 |
28
|
ancoms |
⊢ ( ( ( ♯ ‘ 𝑆 ) ∈ ℤ ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ∨ 𝑥 ∈ ( ( ♯ ‘ 𝑆 ) ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ) |
30 |
27 29
|
sylan |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ∨ 𝑥 ∈ ( ( ♯ ‘ 𝑆 ) ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ) |
31 |
30
|
orcanai |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → 𝑥 ∈ ( ( ♯ ‘ 𝑆 ) ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) |
32 |
|
lencl |
⊢ ( 𝑇 ∈ Word 𝐴 → ( ♯ ‘ 𝑇 ) ∈ ℕ0 ) |
33 |
32
|
nn0zd |
⊢ ( 𝑇 ∈ Word 𝐴 → ( ♯ ‘ 𝑇 ) ∈ ℤ ) |
34 |
33
|
3ad2ant2 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ♯ ‘ 𝑇 ) ∈ ℤ ) |
35 |
34
|
ad2antrr |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ♯ ‘ 𝑇 ) ∈ ℤ ) |
36 |
|
fzosubel3 |
⊢ ( ( 𝑥 ∈ ( ( ♯ ‘ 𝑆 ) ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ∧ ( ♯ ‘ 𝑇 ) ∈ ℤ ) → ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ∈ ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ) |
37 |
31 35 36
|
syl2anc |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ∈ ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ) |
38 |
|
fvco2 |
⊢ ( ( 𝑇 Fn ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ∧ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ∈ ( 0 ..^ ( ♯ ‘ 𝑇 ) ) ) → ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) = ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) |
39 |
24 37 38
|
syl2anc |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) = ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) |
40 |
2
|
oveq2d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) = ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) |
41 |
40
|
fveq2d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) = ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) |
42 |
41
|
ad2antrr |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) = ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) |
43 |
|
iffalse |
⊢ ( ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) = ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) |
44 |
43
|
adantl |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) = ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) |
45 |
39 42 44
|
3eqtr4d |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
46 |
20 45
|
ifeqda |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
47 |
11 46
|
eqtrd |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
48 |
47
|
mpteq2dva |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) ) |
49 |
7 48
|
eqtr2d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) ) |
50 |
14
|
ffvelrnda |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( 𝑆 ‘ 𝑥 ) ∈ 𝐴 ) |
51 |
23 37
|
ffvelrnd |
⊢ ( ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) ∧ ¬ 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) ) → ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ∈ 𝐴 ) |
52 |
50 51
|
ifclda |
⊢ ( ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) ∧ 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ) → if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ∈ 𝐴 ) |
53 |
|
ccatfval |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ) → ( 𝑆 ++ 𝑇 ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
54 |
53
|
3adant3 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝑆 ++ 𝑇 ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
55 |
|
simp3 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝐹 : 𝐴 ⟶ 𝐵 ) |
56 |
55
|
feqmptd |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝐹 = ( 𝑦 ∈ 𝐴 ↦ ( 𝐹 ‘ 𝑦 ) ) ) |
57 |
|
fveq2 |
⊢ ( 𝑦 = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) → ( 𝐹 ‘ 𝑦 ) = ( 𝐹 ‘ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
58 |
|
fvif |
⊢ ( 𝐹 ‘ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) |
59 |
57 58
|
eqtrdi |
⊢ ( 𝑦 = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝑆 ‘ 𝑥 ) , ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) → ( 𝐹 ‘ 𝑦 ) = if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) |
60 |
52 54 56 59
|
fmptco |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝐹 ∘ ( 𝑆 ++ 𝑇 ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑆 ) + ( ♯ ‘ 𝑇 ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝑆 ) ) , ( 𝐹 ‘ ( 𝑆 ‘ 𝑥 ) ) , ( 𝐹 ‘ ( 𝑇 ‘ ( 𝑥 − ( ♯ ‘ 𝑆 ) ) ) ) ) ) ) |
61 |
|
ffun |
⊢ ( 𝐹 : 𝐴 ⟶ 𝐵 → Fun 𝐹 ) |
62 |
61
|
3ad2ant3 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → Fun 𝐹 ) |
63 |
|
simp1 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝑆 ∈ Word 𝐴 ) |
64 |
|
cofunexg |
⊢ ( ( Fun 𝐹 ∧ 𝑆 ∈ Word 𝐴 ) → ( 𝐹 ∘ 𝑆 ) ∈ V ) |
65 |
62 63 64
|
syl2anc |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝐹 ∘ 𝑆 ) ∈ V ) |
66 |
|
simp2 |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → 𝑇 ∈ Word 𝐴 ) |
67 |
|
cofunexg |
⊢ ( ( Fun 𝐹 ∧ 𝑇 ∈ Word 𝐴 ) → ( 𝐹 ∘ 𝑇 ) ∈ V ) |
68 |
62 66 67
|
syl2anc |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝐹 ∘ 𝑇 ) ∈ V ) |
69 |
|
ccatfval |
⊢ ( ( ( 𝐹 ∘ 𝑆 ) ∈ V ∧ ( 𝐹 ∘ 𝑇 ) ∈ V ) → ( ( 𝐹 ∘ 𝑆 ) ++ ( 𝐹 ∘ 𝑇 ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) ) |
70 |
65 68 69
|
syl2anc |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( ( 𝐹 ∘ 𝑆 ) ++ ( 𝐹 ∘ 𝑇 ) ) = ( 𝑥 ∈ ( 0 ..^ ( ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) + ( ♯ ‘ ( 𝐹 ∘ 𝑇 ) ) ) ) ↦ if ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) , ( ( 𝐹 ∘ 𝑆 ) ‘ 𝑥 ) , ( ( 𝐹 ∘ 𝑇 ) ‘ ( 𝑥 − ( ♯ ‘ ( 𝐹 ∘ 𝑆 ) ) ) ) ) ) ) |
71 |
49 60 70
|
3eqtr4d |
⊢ ( ( 𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐴 ∧ 𝐹 : 𝐴 ⟶ 𝐵 ) → ( 𝐹 ∘ ( 𝑆 ++ 𝑇 ) ) = ( ( 𝐹 ∘ 𝑆 ) ++ ( 𝐹 ∘ 𝑇 ) ) ) |