| 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 𝑊 ) ‘ 𝐿 ) ‘ ( 𝑁 + 𝑀 ) ) = ( 𝑊 ‘ 𝑁 ) ) |