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

Theorem pfxccatin12lem3 14280
Description: Lemma 3 for pfxccatin12 14281. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 27-May-2018.)
Hypothesis
Ref Expression
swrdccatin2.l 𝐿 = (♯‘𝐴)
Assertion
Ref Expression
pfxccatin12lem3 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝐾) = ((𝐴 substr ⟨𝑀, 𝐿⟩)‘𝐾)))

Proof of Theorem pfxccatin12lem3
StepHypRef Expression
1 simpll 767 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉))
2 elfzo0 13266 . . . . . . . . 9 (𝐾 ∈ (0..^(𝐿𝑀)) ↔ (𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)))
3 swrdccatin2.l . . . . . . . . . . . . 13 𝐿 = (♯‘𝐴)
4 lencl 14071 . . . . . . . . . . . . 13 (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈ ℕ0)
5 elfz2nn0 13186 . . . . . . . . . . . . . . . . . 18 (𝑀 ∈ (0...𝐿) ↔ (𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿))
6 nn0addcl 12108 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝐾 ∈ ℕ0𝑀 ∈ ℕ0) → (𝐾 + 𝑀) ∈ ℕ0)
76ex 416 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐾 ∈ ℕ0 → (𝑀 ∈ ℕ0 → (𝐾 + 𝑀) ∈ ℕ0))
873ad2ant1 1135 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → (𝑀 ∈ ℕ0 → (𝐾 + 𝑀) ∈ ℕ0))
98com12 32 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ0 → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → (𝐾 + 𝑀) ∈ ℕ0))
1093ad2ant1 1135 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → (𝐾 + 𝑀) ∈ ℕ0))
1110imp 410 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) ∧ (𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀))) → (𝐾 + 𝑀) ∈ ℕ0)
12 elnnz 12169 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝐿𝑀) ∈ ℕ ↔ ((𝐿𝑀) ∈ ℤ ∧ 0 < (𝐿𝑀)))
13 nn0re 12082 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑀 ∈ ℕ0𝑀 ∈ ℝ)
14 nn0re 12082 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ ℕ0𝐿 ∈ ℝ)
15 posdif 11308 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (𝑀 < 𝐿 ↔ 0 < (𝐿𝑀)))
1613, 14, 15syl2an 599 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → (𝑀 < 𝐿 ↔ 0 < (𝐿𝑀)))
17 elnn0z 12172 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑀 ∈ ℕ0 ↔ (𝑀 ∈ ℤ ∧ 0 ≤ 𝑀))
18 0re 10818 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 0 ∈ ℝ
19 zre 12163 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑀 ∈ ℤ → 𝑀 ∈ ℝ)
20 lelttr 10906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → ((0 ≤ 𝑀𝑀 < 𝐿) → 0 < 𝐿))
2118, 19, 14, 20mp3an3an 1469 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑀 ∈ ℤ ∧ 𝐿 ∈ ℕ0) → ((0 ≤ 𝑀𝑀 < 𝐿) → 0 < 𝐿))
22 nn0z 12183 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝐿 ∈ ℕ0𝐿 ∈ ℤ)
2322anim1i 618 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝐿 ∈ ℕ0 ∧ 0 < 𝐿) → (𝐿 ∈ ℤ ∧ 0 < 𝐿))
24 elnnz 12169 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝐿 ∈ ℕ ↔ (𝐿 ∈ ℤ ∧ 0 < 𝐿))
2523, 24sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝐿 ∈ ℕ0 ∧ 0 < 𝐿) → 𝐿 ∈ ℕ)
2625ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝐿 ∈ ℕ0 → (0 < 𝐿𝐿 ∈ ℕ))
2726adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑀 ∈ ℤ ∧ 𝐿 ∈ ℕ0) → (0 < 𝐿𝐿 ∈ ℕ))
2821, 27syld 47 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑀 ∈ ℤ ∧ 𝐿 ∈ ℕ0) → ((0 ≤ 𝑀𝑀 < 𝐿) → 𝐿 ∈ ℕ))
2928expd 419 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑀 ∈ ℤ ∧ 𝐿 ∈ ℕ0) → (0 ≤ 𝑀 → (𝑀 < 𝐿𝐿 ∈ ℕ)))
3029impancom 455 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑀 ∈ ℤ ∧ 0 ≤ 𝑀) → (𝐿 ∈ ℕ0 → (𝑀 < 𝐿𝐿 ∈ ℕ)))
3117, 30sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝑀 ∈ ℕ0 → (𝐿 ∈ ℕ0 → (𝑀 < 𝐿𝐿 ∈ ℕ)))
3231imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → (𝑀 < 𝐿𝐿 ∈ ℕ))
3316, 32sylbird 263 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → (0 < (𝐿𝑀) → 𝐿 ∈ ℕ))
3433com12 32 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (0 < (𝐿𝑀) → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → 𝐿 ∈ ℕ))
3512, 34simplbiim 508 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝐿𝑀) ∈ ℕ → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → 𝐿 ∈ ℕ))
36353ad2ant2 1136 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → 𝐿 ∈ ℕ))
3736com12 32 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → 𝐿 ∈ ℕ))
38373adant3 1134 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → 𝐿 ∈ ℕ))
3938imp 410 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) ∧ (𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀))) → 𝐿 ∈ ℕ)
40 nn0re 12082 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝐾 ∈ ℕ0𝐾 ∈ ℝ)
4140adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐾 ∈ ℕ0 ∧ (𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿)) → 𝐾 ∈ ℝ)
42133ad2ant1 1135 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → 𝑀 ∈ ℝ)
4342adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐾 ∈ ℕ0 ∧ (𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿)) → 𝑀 ∈ ℝ)
44143ad2ant2 1136 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → 𝐿 ∈ ℝ)
4544adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐾 ∈ ℕ0 ∧ (𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿)) → 𝐿 ∈ ℝ)
4641, 43, 45ltaddsubd 11415 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝐾 ∈ ℕ0 ∧ (𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿)) → ((𝐾 + 𝑀) < 𝐿𝐾 < (𝐿𝑀)))
4746exbiri 811 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐾 ∈ ℕ0 → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → (𝐾 < (𝐿𝑀) → (𝐾 + 𝑀) < 𝐿)))
4847com23 86 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝐾 ∈ ℕ0 → (𝐾 < (𝐿𝑀) → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → (𝐾 + 𝑀) < 𝐿)))
4948imp 410 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝐾 ∈ ℕ0𝐾 < (𝐿𝑀)) → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → (𝐾 + 𝑀) < 𝐿))
50493adant2 1133 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → (𝐾 + 𝑀) < 𝐿))
5150impcom 411 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) ∧ (𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀))) → (𝐾 + 𝑀) < 𝐿)
5211, 39, 513jca 1130 . . . . . . . . . . . . . . . . . . . 20 (((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) ∧ (𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀))) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿))
5352ex 416 . . . . . . . . . . . . . . . . . . 19 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿)))
5453a1d 25 . . . . . . . . . . . . . . . . . 18 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0𝑀𝐿) → (𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿))))
555, 54sylbi 220 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ (0...𝐿) → (𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿))))
5655imp 410 . . . . . . . . . . . . . . . 16 ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿)))
57562a1i 12 . . . . . . . . . . . . . . 15 ((♯‘𝐴) = 𝐿 → (𝐿 ∈ ℕ0 → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿)))))
58 eleq1 2821 . . . . . . . . . . . . . . 15 ((♯‘𝐴) = 𝐿 → ((♯‘𝐴) ∈ ℕ0𝐿 ∈ ℕ0))
59 eleq1 2821 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐴) = 𝐿 → ((♯‘𝐴) ∈ ℕ ↔ 𝐿 ∈ ℕ))
60 breq2 5047 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐴) = 𝐿 → ((𝐾 + 𝑀) < (♯‘𝐴) ↔ (𝐾 + 𝑀) < 𝐿))
6159, 603anbi23d 1441 . . . . . . . . . . . . . . . . 17 ((♯‘𝐴) = 𝐿 → (((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)) ↔ ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿)))
6261imbi2d 344 . . . . . . . . . . . . . . . 16 ((♯‘𝐴) = 𝐿 → (((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))) ↔ ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿))))
6362imbi2d 344 . . . . . . . . . . . . . . 15 ((♯‘𝐴) = 𝐿 → (((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)))) ↔ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0𝐿 ∈ ℕ ∧ (𝐾 + 𝑀) < 𝐿)))))
6457, 58, 633imtr4d 297 . . . . . . . . . . . . . 14 ((♯‘𝐴) = 𝐿 → ((♯‘𝐴) ∈ ℕ0 → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))))
6564eqcoms 2742 . . . . . . . . . . . . 13 (𝐿 = (♯‘𝐴) → ((♯‘𝐴) ∈ ℕ0 → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))))
663, 4, 65mpsyl 68 . . . . . . . . . . . 12 (𝐴 ∈ Word 𝑉 → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)))))
6766adantr 484 . . . . . . . . . . 11 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵)))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)))))
6867imp 410 . . . . . . . . . 10 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))
6968com12 32 . . . . . . . . 9 ((𝐾 ∈ ℕ0 ∧ (𝐿𝑀) ∈ ℕ ∧ 𝐾 < (𝐿𝑀)) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))
702, 69sylbi 220 . . . . . . . 8 (𝐾 ∈ (0..^(𝐿𝑀)) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))
7170adantl 485 . . . . . . 7 ((𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀))) → (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴))))
7271impcom 411 . . . . . 6 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)))
73 elfzo0 13266 . . . . . 6 ((𝐾 + 𝑀) ∈ (0..^(♯‘𝐴)) ↔ ((𝐾 + 𝑀) ∈ ℕ0 ∧ (♯‘𝐴) ∈ ℕ ∧ (𝐾 + 𝑀) < (♯‘𝐴)))
7472, 73sylibr 237 . . . . 5 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → (𝐾 + 𝑀) ∈ (0..^(♯‘𝐴)))
75 df-3an 1091 . . . . 5 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝐾 + 𝑀) ∈ (0..^(♯‘𝐴))) ↔ ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝐾 + 𝑀) ∈ (0..^(♯‘𝐴))))
761, 74, 75sylanbrc 586 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → (𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝐾 + 𝑀) ∈ (0..^(♯‘𝐴))))
77 ccatval1 14116 . . . 4 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉 ∧ (𝐾 + 𝑀) ∈ (0..^(♯‘𝐴))) → ((𝐴 ++ 𝐵)‘(𝐾 + 𝑀)) = (𝐴‘(𝐾 + 𝑀)))
7876, 77syl 17 . . 3 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → ((𝐴 ++ 𝐵)‘(𝐾 + 𝑀)) = (𝐴‘(𝐾 + 𝑀)))
793pfxccatin12lem2c 14278 . . . 4 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐴 ++ 𝐵) ∈ Word 𝑉𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘(𝐴 ++ 𝐵)))))
80 simpl 486 . . . 4 ((𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀))) → 𝐾 ∈ (0..^(𝑁𝑀)))
81 swrdfv 14196 . . . 4 ((((𝐴 ++ 𝐵) ∈ Word 𝑉𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘(𝐴 ++ 𝐵)))) ∧ 𝐾 ∈ (0..^(𝑁𝑀))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝐾) = ((𝐴 ++ 𝐵)‘(𝐾 + 𝑀)))
8279, 80, 81syl2an 599 . . 3 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝐾) = ((𝐴 ++ 𝐵)‘(𝐾 + 𝑀)))
83 simplll 775 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → 𝐴 ∈ Word 𝑉)
84 simplrl 777 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → 𝑀 ∈ (0...𝐿))
853eleq1i 2824 . . . . . . 7 (𝐿 ∈ ℕ0 ↔ (♯‘𝐴) ∈ ℕ0)
86 elnn0uz 12462 . . . . . . . . 9 (𝐿 ∈ ℕ0𝐿 ∈ (ℤ‘0))
87 eluzfz2 13103 . . . . . . . . 9 (𝐿 ∈ (ℤ‘0) → 𝐿 ∈ (0...𝐿))
8886, 87sylbi 220 . . . . . . . 8 (𝐿 ∈ ℕ0𝐿 ∈ (0...𝐿))
893oveq2i 7213 . . . . . . . 8 (0...𝐿) = (0...(♯‘𝐴))
9088, 89eleqtrdi 2844 . . . . . . 7 (𝐿 ∈ ℕ0𝐿 ∈ (0...(♯‘𝐴)))
9185, 90sylbir 238 . . . . . 6 ((♯‘𝐴) ∈ ℕ0𝐿 ∈ (0...(♯‘𝐴)))
924, 91syl 17 . . . . 5 (𝐴 ∈ Word 𝑉𝐿 ∈ (0...(♯‘𝐴)))
9392ad3antrrr 730 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → 𝐿 ∈ (0...(♯‘𝐴)))
94 simprr 773 . . . 4 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → 𝐾 ∈ (0..^(𝐿𝑀)))
95 swrdfv 14196 . . . 4 (((𝐴 ∈ Word 𝑉𝑀 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐴))) ∧ 𝐾 ∈ (0..^(𝐿𝑀))) → ((𝐴 substr ⟨𝑀, 𝐿⟩)‘𝐾) = (𝐴‘(𝐾 + 𝑀)))
9683, 84, 93, 94, 95syl31anc 1375 . . 3 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → ((𝐴 substr ⟨𝑀, 𝐿⟩)‘𝐾) = (𝐴‘(𝐾 + 𝑀)))
9778, 82, 963eqtr4d 2784 . 2 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) ∧ (𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀)))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝐾) = ((𝐴 substr ⟨𝑀, 𝐿⟩)‘𝐾))
9897ex 416 1 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (♯‘𝐵))))) → ((𝐾 ∈ (0..^(𝑁𝑀)) ∧ 𝐾 ∈ (0..^(𝐿𝑀))) → (((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩)‘𝐾) = ((𝐴 substr ⟨𝑀, 𝐿⟩)‘𝐾)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1089   = wceq 1543  wcel 2110  cop 4537   class class class wbr 5043  cfv 6369  (class class class)co 7202  cr 10711  0cc0 10712   + caddc 10715   < clt 10850  cle 10851  cmin 11045  cn 11813  0cn0 12073  cz 12159  cuz 12421  ...cfz 13078  ..^cfzo 13221  chash 13879  Word cword 14052   ++ cconcat 14108   substr csubstr 14188
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2706  ax-rep 5168  ax-sep 5181  ax-nul 5188  ax-pow 5247  ax-pr 5311  ax-un 7512  ax-cnex 10768  ax-resscn 10769  ax-1cn 10770  ax-icn 10771  ax-addcl 10772  ax-addrcl 10773  ax-mulcl 10774  ax-mulrcl 10775  ax-mulcom 10776  ax-addass 10777  ax-mulass 10778  ax-distr 10779  ax-i2m1 10780  ax-1ne0 10781  ax-1rid 10782  ax-rnegex 10783  ax-rrecex 10784  ax-cnre 10785  ax-pre-lttri 10786  ax-pre-lttrn 10787  ax-pre-ltadd 10788  ax-pre-mulgt0 10789
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3or 1090  df-3an 1091  df-tru 1546  df-fal 1556  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2537  df-eu 2566  df-clab 2713  df-cleq 2726  df-clel 2812  df-nfc 2882  df-ne 2936  df-nel 3040  df-ral 3059  df-rex 3060  df-reu 3061  df-rab 3063  df-v 3403  df-sbc 3688  df-csb 3803  df-dif 3860  df-un 3862  df-in 3864  df-ss 3874  df-pss 3876  df-nul 4228  df-if 4430  df-pw 4505  df-sn 4532  df-pr 4534  df-tp 4536  df-op 4538  df-uni 4810  df-int 4850  df-iun 4896  df-br 5044  df-opab 5106  df-mpt 5125  df-tr 5151  df-id 5444  df-eprel 5449  df-po 5457  df-so 5458  df-fr 5498  df-we 5500  df-xp 5546  df-rel 5547  df-cnv 5548  df-co 5549  df-dm 5550  df-rn 5551  df-res 5552  df-ima 5553  df-pred 6149  df-ord 6205  df-on 6206  df-lim 6207  df-suc 6208  df-iota 6327  df-fun 6371  df-fn 6372  df-f 6373  df-f1 6374  df-fo 6375  df-f1o 6376  df-fv 6377  df-riota 7159  df-ov 7205  df-oprab 7206  df-mpo 7207  df-om 7634  df-1st 7750  df-2nd 7751  df-wrecs 8036  df-recs 8097  df-rdg 8135  df-1o 8191  df-er 8380  df-en 8616  df-dom 8617  df-sdom 8618  df-fin 8619  df-card 9538  df-pnf 10852  df-mnf 10853  df-xr 10854  df-ltxr 10855  df-le 10856  df-sub 11047  df-neg 11048  df-nn 11814  df-n0 12074  df-z 12160  df-uz 12422  df-fz 13079  df-fzo 13222  df-hash 13880  df-word 14053  df-concat 14109  df-substr 14189
This theorem is referenced by:  pfxccatin12  14281
  Copyright terms: Public domain W3C validator