Step |
Hyp |
Ref |
Expression |
1 |
|
lpadlen.1 |
⊢ ( 𝜑 → 𝐿 ∈ ℕ0 ) |
2 |
|
lpadlen.2 |
⊢ ( 𝜑 → 𝑊 ∈ Word 𝑆 ) |
3 |
|
lpadlen.3 |
⊢ ( 𝜑 → 𝐶 ∈ 𝑆 ) |
4 |
|
lpadright.1 |
⊢ ( 𝜑 → 𝑀 = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) ) |
5 |
|
lpadright.2 |
⊢ ( 𝜑 → 𝑁 ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
6 |
1 2 3
|
lpadval |
⊢ ( 𝜑 → ( ( 𝐶 leftpad 𝑊 ) ‘ 𝐿 ) = ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ) |
7 |
6
|
fveq1d |
⊢ ( 𝜑 → ( ( ( 𝐶 leftpad 𝑊 ) ‘ 𝐿 ) ‘ ( 𝑁 + 𝑀 ) ) = ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ‘ ( 𝑁 + 𝑀 ) ) ) |
8 |
|
eqeq2 |
⊢ ( 0 = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) → ( ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = 0 ↔ ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) ) ) |
9 |
|
eqeq2 |
⊢ ( ( 𝐿 − ( ♯ ‘ 𝑊 ) ) = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) → ( ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ↔ ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) ) ) |
10 |
1
|
adantr |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐿 ∈ ℕ0 ) |
11 |
2
|
adantr |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝑊 ∈ Word 𝑆 ) |
12 |
3
|
adantr |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐶 ∈ 𝑆 ) |
13 |
|
simpr |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) |
14 |
10 11 12 13
|
lpadlem3 |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) = ∅ ) |
15 |
14
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = ( ♯ ‘ ∅ ) ) |
16 |
|
hash0 |
⊢ ( ♯ ‘ ∅ ) = 0 |
17 |
15 16
|
eqtrdi |
⊢ ( ( 𝜑 ∧ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = 0 ) |
18 |
1
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐿 ∈ ℕ0 ) |
19 |
2
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝑊 ∈ Word 𝑆 ) |
20 |
3
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐶 ∈ 𝑆 ) |
21 |
|
lencl |
⊢ ( 𝑊 ∈ Word 𝑆 → ( ♯ ‘ 𝑊 ) ∈ ℕ0 ) |
22 |
2 21
|
syl |
⊢ ( 𝜑 → ( ♯ ‘ 𝑊 ) ∈ ℕ0 ) |
23 |
22
|
nn0red |
⊢ ( 𝜑 → ( ♯ ‘ 𝑊 ) ∈ ℝ ) |
24 |
23
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ 𝑊 ) ∈ ℝ ) |
25 |
1
|
nn0red |
⊢ ( 𝜑 → 𝐿 ∈ ℝ ) |
26 |
25
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → 𝐿 ∈ ℝ ) |
27 |
23 25
|
ltnled |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝑊 ) < 𝐿 ↔ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) ) |
28 |
27
|
biimpar |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ 𝑊 ) < 𝐿 ) |
29 |
24 26 28
|
ltled |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ 𝑊 ) ≤ 𝐿 ) |
30 |
18 19 20 29
|
lpadlem2 |
⊢ ( ( 𝜑 ∧ ¬ 𝐿 ≤ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) |
31 |
8 9 17 30
|
ifbothda |
⊢ ( 𝜑 → ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = if ( 𝐿 ≤ ( ♯ ‘ 𝑊 ) , 0 , ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) ) |
32 |
31 4
|
eqtr4d |
⊢ ( 𝜑 → ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) = 𝑀 ) |
33 |
32
|
oveq2d |
⊢ ( 𝜑 → ( 𝑁 + ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) ) = ( 𝑁 + 𝑀 ) ) |
34 |
33
|
fveq2d |
⊢ ( 𝜑 → ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ‘ ( 𝑁 + ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) ) ) = ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ‘ ( 𝑁 + 𝑀 ) ) ) |
35 |
3
|
lpadlem1 |
⊢ ( 𝜑 → ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ∈ Word 𝑆 ) |
36 |
|
ccatval3 |
⊢ ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ∈ Word 𝑆 ∧ 𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) → ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ‘ ( 𝑁 + ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) ) ) = ( 𝑊 ‘ 𝑁 ) ) |
37 |
35 2 5 36
|
syl3anc |
⊢ ( 𝜑 → ( ( ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ++ 𝑊 ) ‘ ( 𝑁 + ( ♯ ‘ ( ( 0 ..^ ( 𝐿 − ( ♯ ‘ 𝑊 ) ) ) × { 𝐶 } ) ) ) ) = ( 𝑊 ‘ 𝑁 ) ) |
38 |
7 34 37
|
3eqtr2d |
⊢ ( 𝜑 → ( ( ( 𝐶 leftpad 𝑊 ) ‘ 𝐿 ) ‘ ( 𝑁 + 𝑀 ) ) = ( 𝑊 ‘ 𝑁 ) ) |