MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  swrdccatin2 Structured version   Visualization version   GIF version

Theorem swrdccatin2 13338
Description: The subword of a concatenation of two words within the second of the concatenated words. (Contributed by Alexander van der Vekens, 28-Mar-2018.) (Revised by Alexander van der Vekens, 27-May-2018.)
Hypothesis
Ref Expression
swrdccatin12.l 𝐿 = (#‘𝐴)
Assertion
Ref Expression
swrdccatin2 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)))

Proof of Theorem swrdccatin2
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 swrdccatin12.l . . . . . . . 8 𝐿 = (#‘𝐴)
2 oveq1 6556 . . . . . . . . . 10 (𝐿 = (#‘𝐴) → (𝐿...𝑁) = ((#‘𝐴)...𝑁))
32eleq2d 2673 . . . . . . . . 9 (𝐿 = (#‘𝐴) → (𝑀 ∈ (𝐿...𝑁) ↔ 𝑀 ∈ ((#‘𝐴)...𝑁)))
4 id 22 . . . . . . . . . . 11 (𝐿 = (#‘𝐴) → 𝐿 = (#‘𝐴))
5 oveq1 6556 . . . . . . . . . . 11 (𝐿 = (#‘𝐴) → (𝐿 + (#‘𝐵)) = ((#‘𝐴) + (#‘𝐵)))
64, 5oveq12d 6567 . . . . . . . . . 10 (𝐿 = (#‘𝐴) → (𝐿...(𝐿 + (#‘𝐵))) = ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))))
76eleq2d 2673 . . . . . . . . 9 (𝐿 = (#‘𝐴) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ↔ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))))
83, 7anbi12d 743 . . . . . . . 8 (𝐿 = (#‘𝐴) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) ↔ (𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))))))
91, 8ax-mp 5 . . . . . . 7 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) ↔ (𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))))
10 lencl 13179 . . . . . . . . 9 (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈ ℕ0)
11 elnn0uz 11601 . . . . . . . . . . . . 13 ((#‘𝐴) ∈ ℕ0 ↔ (#‘𝐴) ∈ (ℤ‘0))
1211biimpi 205 . . . . . . . . . . . 12 ((#‘𝐴) ∈ ℕ0 → (#‘𝐴) ∈ (ℤ‘0))
13 fzss1 12251 . . . . . . . . . . . 12 ((#‘𝐴) ∈ (ℤ‘0) → ((#‘𝐴)...𝑁) ⊆ (0...𝑁))
1412, 13syl 17 . . . . . . . . . . 11 ((#‘𝐴) ∈ ℕ0 → ((#‘𝐴)...𝑁) ⊆ (0...𝑁))
1514sseld 3567 . . . . . . . . . 10 ((#‘𝐴) ∈ ℕ0 → (𝑀 ∈ ((#‘𝐴)...𝑁) → 𝑀 ∈ (0...𝑁)))
16 fzss1 12251 . . . . . . . . . . . 12 ((#‘𝐴) ∈ (ℤ‘0) → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵))))
1712, 16syl 17 . . . . . . . . . . 11 ((#‘𝐴) ∈ ℕ0 → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵))))
1817sseld 3567 . . . . . . . . . 10 ((#‘𝐴) ∈ ℕ0 → (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))
1915, 18anim12d 584 . . . . . . . . 9 ((#‘𝐴) ∈ ℕ0 → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))))
2010, 19syl 17 . . . . . . . 8 (𝐴 ∈ Word 𝑉 → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))))
2120adantr 480 . . . . . . 7 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))))
229, 21syl5bi 231 . . . . . 6 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))))
2322imp 444 . . . . 5 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))
24 swrdccatfn 13333 . . . . 5 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) Fn (0..^(𝑁𝑀)))
2523, 24syldan 486 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) Fn (0..^(𝑁𝑀)))
26 elfz2 12204 . . . . . . . . . 10 (𝑀 ∈ (𝐿...𝑁) ↔ ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿𝑀𝑀𝑁)))
27 zcn 11259 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
28 zcn 11259 . . . . . . . . . . . . 13 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
29 zcn 11259 . . . . . . . . . . . . 13 (𝐿 ∈ ℤ → 𝐿 ∈ ℂ)
3027, 28, 293anim123i 1240 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ))
31303comr 1265 . . . . . . . . . . 11 ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ))
3231adantr 480 . . . . . . . . . 10 (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿𝑀𝑀𝑁)) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ))
3326, 32sylbi 206 . . . . . . . . 9 (𝑀 ∈ (𝐿...𝑁) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ))
3433adantr 480 . . . . . . . 8 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ))
35 nnncan2 10197 . . . . . . . 8 ((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ) → ((𝑁𝐿) − (𝑀𝐿)) = (𝑁𝑀))
3634, 35syl 17 . . . . . . 7 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝑁𝐿) − (𝑀𝐿)) = (𝑁𝑀))
3736adantl 481 . . . . . 6 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑁𝐿) − (𝑀𝐿)) = (𝑁𝑀))
3837oveq2d 6565 . . . . 5 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (0..^((𝑁𝐿) − (𝑀𝐿))) = (0..^(𝑁𝑀)))
3938fneq2d 5896 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) Fn (0..^((𝑁𝐿) − (𝑀𝐿))) ↔ ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) Fn (0..^(𝑁𝑀))))
4025, 39mpbird 246 . . 3 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) Fn (0..^((𝑁𝐿) − (𝑀𝐿))))
41 simpr 476 . . . . 5 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝐵 ∈ Word 𝑉)
4241adantr 480 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐵 ∈ Word 𝑉)
43 elfzmlbm 12318 . . . . 5 (𝑀 ∈ (𝐿...𝑁) → (𝑀𝐿) ∈ (0...(𝑁𝐿)))
4443ad2antrl 760 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑀𝐿) ∈ (0...(𝑁𝐿)))
45 lencl 13179 . . . . . . . . . 10 (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈ ℕ0)
4645nn0zd 11356 . . . . . . . . 9 (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈ ℤ)
4746adantl 481 . . . . . . . 8 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (#‘𝐵) ∈ ℤ)
48 elfzmlbp 12319 . . . . . . . . 9 (((#‘𝐵) ∈ ℤ ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝑁𝐿) ∈ (0...(#‘𝐵)))
4948ex 449 . . . . . . . 8 ((#‘𝐵) ∈ ℤ → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
5047, 49syl 17 . . . . . . 7 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
5150com12 32 . . . . . 6 (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
5251adantl 481 . . . . 5 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
5352impcom 445 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁𝐿) ∈ (0...(#‘𝐵)))
54 swrdvalfn 13278 . . . 4 ((𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ (0...(𝑁𝐿)) ∧ (𝑁𝐿) ∈ (0...(#‘𝐵))) → (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) Fn (0..^((𝑁𝐿) − (𝑀𝐿))))
5542, 44, 53, 54syl3anc 1318 . . 3 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) Fn (0..^((𝑁𝐿) − (𝑀𝐿))))
56 simpl 472 . . . . . . . 8 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉))
5756adantr 480 . . . . . . 7 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉))
58 elfzoelz 12339 . . . . . . . . 9 (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → 𝑘 ∈ ℤ)
59 elfzelz 12213 . . . . . . . . . . 11 (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ ℤ)
60 zaddcl 11294 . . . . . . . . . . . 12 ((𝑘 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 + 𝑀) ∈ ℤ)
6160expcom 450 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ))
6259, 61syl 17 . . . . . . . . . 10 (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ))
6362ad2antrl 760 . . . . . . . . 9 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ))
6458, 63syl5com 31 . . . . . . . 8 (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 + 𝑀) ∈ ℤ))
6564impcom 445 . . . . . . 7 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (𝑘 + 𝑀) ∈ ℤ)
66 df-3an 1033 . . . . . . 7 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ) ↔ ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑘 + 𝑀) ∈ ℤ))
6757, 65, 66sylanbrc 695 . . . . . 6 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ))
68 ccatsymb 13219 . . . . . 6 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴)))))
6967, 68syl 17 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴)))))
70 elfzonn0 12380 . . . . . . . 8 (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → 𝑘 ∈ ℕ0)
71 zre 11258 . . . . . . . . . . . . . . . . . . 19 (𝐿 ∈ ℤ → 𝐿 ∈ ℝ)
72 zre 11258 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℤ → 𝑀 ∈ ℝ)
7371, 72anim12i 588 . . . . . . . . . . . . . . . . . 18 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ))
74 elnn0z 11267 . . . . . . . . . . . . . . . . . . 19 (𝑘 ∈ ℕ0 ↔ (𝑘 ∈ ℤ ∧ 0 ≤ 𝑘))
75 zre 11258 . . . . . . . . . . . . . . . . . . . 20 (𝑘 ∈ ℤ → 𝑘 ∈ ℝ)
76 0red 9920 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑀 ∈ ℝ → 0 ∈ ℝ)
7776anim1i 590 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (0 ∈ ℝ ∧ 𝐿 ∈ ℝ))
7877ancoms 468 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (0 ∈ ℝ ∧ 𝐿 ∈ ℝ))
7978adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0 ∈ ℝ ∧ 𝐿 ∈ ℝ))
80 simpr 476 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → 𝑀 ∈ ℝ)
8180anim2i 591 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝑘 ∈ ℝ ∧ 𝑀 ∈ ℝ))
82 le2add 10389 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((0 ∈ ℝ ∧ 𝐿 ∈ ℝ) ∧ (𝑘 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 ≤ 𝑘𝐿𝑀) → (0 + 𝐿) ≤ (𝑘 + 𝑀)))
8379, 81, 82syl2anc 691 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 ≤ 𝑘𝐿𝑀) → (0 + 𝐿) ≤ (𝑘 + 𝑀)))
84 recn 9905 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝐿 ∈ ℝ → 𝐿 ∈ ℂ)
8584addid2d 10116 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝐿 ∈ ℝ → (0 + 𝐿) = 𝐿)
8685ad2antrl 760 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0 + 𝐿) = 𝐿)
8786breq1d 4593 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 + 𝐿) ≤ (𝑘 + 𝑀) ↔ 𝐿 ≤ (𝑘 + 𝑀)))
8883, 87sylibd 228 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 ≤ 𝑘𝐿𝑀) → 𝐿 ≤ (𝑘 + 𝑀)))
89 simpl 472 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → 𝐿 ∈ ℝ)
9089adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → 𝐿 ∈ ℝ)
91 readdcl 9898 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑘 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝑘 + 𝑀) ∈ ℝ)
9281, 91syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝑘 + 𝑀) ∈ ℝ)
9390, 92lenltd 10062 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝐿 ≤ (𝑘 + 𝑀) ↔ ¬ (𝑘 + 𝑀) < 𝐿))
9488, 93sylibd 228 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 ≤ 𝑘𝐿𝑀) → ¬ (𝑘 + 𝑀) < 𝐿))
9594expd 451 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0 ≤ 𝑘 → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)))
9695com12 32 . . . . . . . . . . . . . . . . . . . . 21 (0 ≤ 𝑘 → ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)))
9796expd 451 . . . . . . . . . . . . . . . . . . . 20 (0 ≤ 𝑘 → (𝑘 ∈ ℝ → ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))))
9875, 97mpan9 485 . . . . . . . . . . . . . . . . . . 19 ((𝑘 ∈ ℤ ∧ 0 ≤ 𝑘) → ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)))
9974, 98sylbi 206 . . . . . . . . . . . . . . . . . 18 (𝑘 ∈ ℕ0 → ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)))
10073, 99mpan9 485 . . . . . . . . . . . . . . . . 17 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))
1011eqcomi 2619 . . . . . . . . . . . . . . . . . . 19 (#‘𝐴) = 𝐿
102101breq2i 4591 . . . . . . . . . . . . . . . . . 18 ((𝑘 + 𝑀) < (#‘𝐴) ↔ (𝑘 + 𝑀) < 𝐿)
103102notbii 309 . . . . . . . . . . . . . . . . 17 (¬ (𝑘 + 𝑀) < (#‘𝐴) ↔ ¬ (𝑘 + 𝑀) < 𝐿)
104100, 103syl6ibr 241 . . . . . . . . . . . . . . . 16 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < (#‘𝐴)))
105104ex 449 . . . . . . . . . . . . . . 15 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0 → (𝐿𝑀 → ¬ (𝑘 + 𝑀) < (#‘𝐴))))
106105com23 84 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿𝑀 → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴))))
1071063adant2 1073 . . . . . . . . . . . . 13 ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿𝑀 → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴))))
108107com12 32 . . . . . . . . . . . 12 (𝐿𝑀 → ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴))))
109108adantr 480 . . . . . . . . . . 11 ((𝐿𝑀𝑀𝑁) → ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴))))
110109impcom 445 . . . . . . . . . 10 (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿𝑀𝑀𝑁)) → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴)))
11126, 110sylbi 206 . . . . . . . . 9 (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴)))
112111ad2antrl 760 . . . . . . . 8 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℕ0 → ¬ (𝑘 + 𝑀) < (#‘𝐴)))
11370, 112syl5com 31 . . . . . . 7 (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ¬ (𝑘 + 𝑀) < (#‘𝐴)))
114113impcom 445 . . . . . 6 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ¬ (𝑘 + 𝑀) < (#‘𝐴))
115114iffalsed 4047 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴)))) = (𝐵‘((𝑘 + 𝑀) − (#‘𝐴))))
116 zcn 11259 . . . . . . . . . . . . . . . . 17 (𝑘 ∈ ℤ → 𝑘 ∈ ℂ)
117116adantl 481 . . . . . . . . . . . . . . . 16 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝑘 ∈ ℂ)
11828adantl 481 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → 𝑀 ∈ ℂ)
119118adantr 480 . . . . . . . . . . . . . . . 16 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝑀 ∈ ℂ)
12029ad2antrr 758 . . . . . . . . . . . . . . . 16 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝐿 ∈ ℂ)
121117, 119, 120addsubassd 10291 . . . . . . . . . . . . . . 15 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − 𝐿) = (𝑘 + (𝑀𝐿)))
122 oveq2 6557 . . . . . . . . . . . . . . . 16 (𝐿 = (#‘𝐴) → ((𝑘 + 𝑀) − 𝐿) = ((𝑘 + 𝑀) − (#‘𝐴)))
123122eqeq1d 2612 . . . . . . . . . . . . . . 15 (𝐿 = (#‘𝐴) → (((𝑘 + 𝑀) − 𝐿) = (𝑘 + (𝑀𝐿)) ↔ ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
124121, 123syl5ib 233 . . . . . . . . . . . . . 14 (𝐿 = (#‘𝐴) → (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
1251, 124ax-mp 5 . . . . . . . . . . . . 13 (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿)))
126125ex 449 . . . . . . . . . . . 12 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
1271263adant2 1073 . . . . . . . . . . 11 ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
128127adantr 480 . . . . . . . . . 10 (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿𝑀𝑀𝑁)) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
12926, 128sylbi 206 . . . . . . . . 9 (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
130129ad2antrl 760 . . . . . . . 8 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
13158, 130syl5com 31 . . . . . . 7 (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿))))
132131impcom 445 . . . . . 6 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀𝐿)))
133132fveq2d 6107 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (𝐵‘((𝑘 + 𝑀) − (#‘𝐴))) = (𝐵‘(𝑘 + (𝑀𝐿))))
13469, 115, 1333eqtrd 2648 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = (𝐵‘(𝑘 + (𝑀𝐿))))
135 ccatcl 13212 . . . . . 6 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉)
136135ad2antrr 758 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (𝐴 ++ 𝐵) ∈ Word 𝑉)
1371, 12syl5eqel 2692 . . . . . . . . . . . 12 ((#‘𝐴) ∈ ℕ0𝐿 ∈ (ℤ‘0))
138 fzss1 12251 . . . . . . . . . . . 12 (𝐿 ∈ (ℤ‘0) → (𝐿...𝑁) ⊆ (0...𝑁))
13910, 137, 1383syl 18 . . . . . . . . . . 11 (𝐴 ∈ Word 𝑉 → (𝐿...𝑁) ⊆ (0...𝑁))
140139sseld 3567 . . . . . . . . . 10 (𝐴 ∈ Word 𝑉 → (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ (0...𝑁)))
141140adantr 480 . . . . . . . . 9 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ (0...𝑁)))
142141com12 32 . . . . . . . 8 (𝑀 ∈ (𝐿...𝑁) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝑀 ∈ (0...𝑁)))
143142adantr 480 . . . . . . 7 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝑀 ∈ (0...𝑁)))
144143impcom 445 . . . . . 6 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑀 ∈ (0...𝑁))
145144adantr 480 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → 𝑀 ∈ (0...𝑁))
1461, 7ax-mp 5 . . . . . . . . 9 (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ↔ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))))
14710, 12syl 17 . . . . . . . . . . . . . . 15 (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈ (ℤ‘0))
148147adantr 480 . . . . . . . . . . . . . 14 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (#‘𝐴) ∈ (ℤ‘0))
149148, 16syl 17 . . . . . . . . . . . . 13 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵))))
150149sseld 3567 . . . . . . . . . . . 12 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))
151150impcom 445 . . . . . . . . . . 11 ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉)) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))
152 ccatlen 13213 . . . . . . . . . . . . . 14 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (#‘(𝐴 ++ 𝐵)) = ((#‘𝐴) + (#‘𝐵)))
153152oveq2d 6565 . . . . . . . . . . . . 13 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (0...(#‘(𝐴 ++ 𝐵))) = (0...((#‘𝐴) + (#‘𝐵))))
154153eleq2d 2673 . . . . . . . . . . . 12 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))) ↔ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))
155154adantl 481 . . . . . . . . . . 11 ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉)) → (𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))) ↔ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))
156151, 155mpbird 246 . . . . . . . . . 10 ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉)) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))
157156ex 449 . . . . . . . . 9 (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))))
158146, 157sylbi 206 . . . . . . . 8 (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))))
159158adantl 481 . . . . . . 7 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))))
160159impcom 445 . . . . . 6 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))
161160adantr 480 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))
162 fzmmmeqm 12245 . . . . . . . . . 10 (𝑀 ∈ (𝐿...𝑁) → ((𝑁𝐿) − (𝑀𝐿)) = (𝑁𝑀))
163162oveq2d 6565 . . . . . . . . 9 (𝑀 ∈ (𝐿...𝑁) → (0..^((𝑁𝐿) − (𝑀𝐿))) = (0..^(𝑁𝑀)))
164163eleq2d 2673 . . . . . . . 8 (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) ↔ 𝑘 ∈ (0..^(𝑁𝑀))))
165164biimpd 218 . . . . . . 7 (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → 𝑘 ∈ (0..^(𝑁𝑀))))
166165ad2antrl 760 . . . . . 6 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿))) → 𝑘 ∈ (0..^(𝑁𝑀))))
167166imp 444 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → 𝑘 ∈ (0..^(𝑁𝑀)))
168 swrdfv 13276 . . . . 5 ((((𝐴 ++ 𝐵) ∈ Word 𝑉𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) ∧ 𝑘 ∈ (0..^(𝑁𝑀))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝑘) = ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)))
169136, 145, 161, 167, 168syl31anc 1321 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝑘) = ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)))
17046, 49syl 17 . . . . . . . . . 10 (𝐵 ∈ Word 𝑉 → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
171170adantl 481 . . . . . . . . 9 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
172171com12 32 . . . . . . . 8 (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
173172adantl 481 . . . . . . 7 ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝑁𝐿) ∈ (0...(#‘𝐵))))
174173impcom 445 . . . . . 6 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁𝐿) ∈ (0...(#‘𝐵)))
17542, 44, 1743jca 1235 . . . . 5 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ (0...(𝑁𝐿)) ∧ (𝑁𝐿) ∈ (0...(#‘𝐵))))
176 swrdfv 13276 . . . . 5 (((𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ (0...(𝑁𝐿)) ∧ (𝑁𝐿) ∈ (0...(#‘𝐵))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ((𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)‘𝑘) = (𝐵‘(𝑘 + (𝑀𝐿))))
177175, 176sylan 487 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → ((𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)‘𝑘) = (𝐵‘(𝑘 + (𝑀𝐿))))
178134, 169, 1773eqtr4d 2654 . . 3 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁𝐿) − (𝑀𝐿)))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝑘) = ((𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)‘𝑘))
17940, 55, 178eqfnfvd 6222 . 2 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
180179ex 449 1 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  wss 3540  ifcif 4036  cop 4131   class class class wbr 4583   Fn wfn 5799  cfv 5804  (class class class)co 6549  cc 9813  cr 9814  0cc0 9815   + caddc 9818   < clt 9953  cle 9954  cmin 10145  0cn0 11169  cz 11254  cuz 11563  ...cfz 12197  ..^cfzo 12334  #chash 12979  Word cword 13146   ++ cconcat 13148   substr csubstr 13150
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-oadd 7451  df-er 7629  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-n0 11170  df-z 11255  df-uz 11564  df-fz 12198  df-fzo 12335  df-hash 12980  df-word 13154  df-concat 13156  df-substr 13158
This theorem is referenced by:  swrdccat3  13343  swrdccatin2d  13351  pfxccat3  40289
  Copyright terms: Public domain W3C validator