| Step | Hyp | Ref
| Expression |
| 1 | | wrdfin 10988 |
. . 3
⊢ (𝑆 ∈ Word 𝐵 → 𝑆 ∈ Fin) |
| 2 | | wrdfin 10988 |
. . 3
⊢ (𝑇 ∈ Word 𝐵 → 𝑇 ∈ Fin) |
| 3 | | ccatfvalfi 11023 |
. . 3
⊢ ((𝑆 ∈ Fin ∧ 𝑇 ∈ Fin) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 4 | 1, 2, 3 | syl2an 289 |
. 2
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 5 | | wrdf 10975 |
. . . . . . 7
⊢ (𝑆 ∈ Word 𝐵 → 𝑆:(0..^(♯‘𝑆))⟶𝐵) |
| 6 | 5 | ad2antrr 488 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑆:(0..^(♯‘𝑆))⟶𝐵) |
| 7 | 6 | ffvelcdmda 5709 |
. . . . 5
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆‘𝑥) ∈ 𝐵) |
| 8 | | wrdf 10975 |
. . . . . . 7
⊢ (𝑇 ∈ Word 𝐵 → 𝑇:(0..^(♯‘𝑇))⟶𝐵) |
| 9 | 8 | ad3antlr 493 |
. . . . . 6
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ ¬ 𝑥 ∈
(0..^(♯‘𝑆)))
→ 𝑇:(0..^(♯‘𝑇))⟶𝐵) |
| 10 | | simpr 110 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 11 | 10 | anim1i 340 |
. . . . . . 7
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ ¬ 𝑥 ∈
(0..^(♯‘𝑆)))
→ (𝑥 ∈
(0..^((♯‘𝑆) +
(♯‘𝑇))) ∧
¬ 𝑥 ∈
(0..^(♯‘𝑆)))) |
| 12 | | lencl 10973 |
. . . . . . . . . 10
⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈
ℕ0) |
| 13 | 12 | nn0zd 9475 |
. . . . . . . . 9
⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℤ) |
| 14 | | lencl 10973 |
. . . . . . . . . 10
⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈
ℕ0) |
| 15 | 14 | nn0zd 9475 |
. . . . . . . . 9
⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℤ) |
| 16 | 13, 15 | anim12i 338 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) ∈ ℤ ∧ (♯‘𝑇) ∈
ℤ)) |
| 17 | 16 | ad2antrr 488 |
. . . . . . 7
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ ¬ 𝑥 ∈
(0..^(♯‘𝑆)))
→ ((♯‘𝑆)
∈ ℤ ∧ (♯‘𝑇) ∈ ℤ)) |
| 18 | | fzocatel 10309 |
. . . . . . 7
⊢ (((𝑥 ∈
(0..^((♯‘𝑆) +
(♯‘𝑇))) ∧
¬ 𝑥 ∈
(0..^(♯‘𝑆)))
∧ ((♯‘𝑆)
∈ ℤ ∧ (♯‘𝑇) ∈ ℤ)) → (𝑥 − (♯‘𝑆)) ∈
(0..^(♯‘𝑇))) |
| 19 | 11, 17, 18 | syl2anc 411 |
. . . . . 6
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ ¬ 𝑥 ∈
(0..^(♯‘𝑆)))
→ (𝑥 −
(♯‘𝑆)) ∈
(0..^(♯‘𝑇))) |
| 20 | 9, 19 | ffvelcdmd 5710 |
. . . . 5
⊢ ((((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) ∧ ¬ 𝑥 ∈
(0..^(♯‘𝑆)))
→ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ 𝐵) |
| 21 | | elfzoelz 10251 |
. . . . . . 7
⊢ (𝑥 ∈
(0..^((♯‘𝑆) +
(♯‘𝑇))) →
𝑥 ∈
ℤ) |
| 22 | 21 | adantl 277 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 ∈ ℤ) |
| 23 | | 0zd 9366 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → 0 ∈
ℤ) |
| 24 | 13 | ad2antrr 488 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑆) ∈
ℤ) |
| 25 | | fzodcel 10257 |
. . . . . 6
⊢ ((𝑥 ∈ ℤ ∧ 0 ∈
ℤ ∧ (♯‘𝑆) ∈ ℤ) →
DECID 𝑥
∈ (0..^(♯‘𝑆))) |
| 26 | 22, 23, 24, 25 | syl3anc 1249 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → DECID
𝑥 ∈
(0..^(♯‘𝑆))) |
| 27 | 7, 20, 26 | ifcldadc 3599 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ 𝐵) |
| 28 | 27 | fmpttd 5729 |
. . 3
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶𝐵) |
| 29 | 12 | adantr 276 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈
ℕ0) |
| 30 | 14 | adantl 277 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘𝑇) ∈
ℕ0) |
| 31 | 29, 30 | nn0addcld 9334 |
. . 3
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈
ℕ0) |
| 32 | | iswrdinn0 10974 |
. . 3
⊢ (((𝑥 ∈
(0..^((♯‘𝑆) +
(♯‘𝑇))) ↦
if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶𝐵 ∧ ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) → (𝑥 ∈
(0..^((♯‘𝑆) +
(♯‘𝑇))) ↦
if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ Word 𝐵) |
| 33 | 28, 31, 32 | syl2anc 411 |
. 2
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈
(0..^(♯‘𝑆)),
(𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ Word 𝐵) |
| 34 | 4, 33 | eqeltrd 2281 |
1
⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) ∈ Word 𝐵) |