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

Theorem wwlksubclwwlk 26332
Description: Any prefix of a word representing a closed walk represents a word. (Contributed by Alexander van der Vekens, 5-Oct-2018.)
Assertion
Ref Expression
wwlksubclwwlk ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → (𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1))))

Proof of Theorem wwlksubclwwlk
Dummy variable 𝑖 is distinct from all other variables.
StepHypRef Expression
1 clwwlknimp 26304 . . . . 5 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {( lastS ‘𝑋), (𝑋‘0)} ∈ ran 𝐸))
2 simpl 472 . . . . . . . . . . . 12 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → 𝑋 ∈ Word 𝑉)
32adantr 480 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑋 ∈ Word 𝑉)
4 simpl 472 . . . . . . . . . . . 12 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 ∈ ℕ)
54adantl 481 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ ℕ)
6 eluz2 11569 . . . . . . . . . . . . . . 15 (𝑁 ∈ (ℤ‘(𝑀 + 1)) ↔ ((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁))
7 nnre 10904 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → 𝑀 ∈ ℝ)
87adantl 481 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ∈ ℝ)
9 peano2re 10088 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℝ → (𝑀 + 1) ∈ ℝ)
107, 9syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → (𝑀 + 1) ∈ ℝ)
1110adantl 481 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑀 + 1) ∈ ℝ)
12 zre 11258 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
1312adantr 480 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑁 ∈ ℝ)
148, 11, 133jca 1235 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ))
1514adantr 480 . . . . . . . . . . . . . . . . . . . 20 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ))
167lep1d 10834 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → 𝑀 ≤ (𝑀 + 1))
1716adantl 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝑀 + 1))
1817anim1i 590 . . . . . . . . . . . . . . . . . . . 20 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ≤ (𝑀 + 1) ∧ (𝑀 + 1) ≤ 𝑁))
19 letr 10010 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑀 ≤ (𝑀 + 1) ∧ (𝑀 + 1) ≤ 𝑁) → 𝑀𝑁))
2015, 18, 19sylc 63 . . . . . . . . . . . . . . . . . . 19 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → 𝑀𝑁)
2120expcom 450 . . . . . . . . . . . . . . . . . 18 ((𝑀 + 1) ≤ 𝑁 → ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀𝑁))
2221expd 451 . . . . . . . . . . . . . . . . 17 ((𝑀 + 1) ≤ 𝑁 → (𝑁 ∈ ℤ → (𝑀 ∈ ℕ → 𝑀𝑁)))
2322impcom 445 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → 𝑀𝑁))
24233adant1 1072 . . . . . . . . . . . . . . 15 (((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → 𝑀𝑁))
256, 24sylbi 206 . . . . . . . . . . . . . 14 (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑀 ∈ ℕ → 𝑀𝑁))
2625impcom 445 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀𝑁)
2726adantl 481 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀𝑁)
28 breq2 4587 . . . . . . . . . . . . . 14 ((#‘𝑋) = 𝑁 → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
2928adantl 481 . . . . . . . . . . . . 13 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
3029adantr 480 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
3127, 30mpbird 246 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ≤ (#‘𝑋))
32 swrdn0 13282 . . . . . . . . . . 11 ((𝑋 ∈ Word 𝑉𝑀 ∈ ℕ ∧ 𝑀 ≤ (#‘𝑋)) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
333, 5, 31, 32syl3anc 1318 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
3433adantlr 747 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
35 swrdcl 13271 . . . . . . . . . . . 12 (𝑋 ∈ Word 𝑉 → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3635adantr 480 . . . . . . . . . . 11 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3736adantr 480 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3837adantr 480 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
39 nnz 11276 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → 𝑀 ∈ ℤ)
40 eluzp1m1 11587 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑁 − 1) ∈ (ℤ𝑀))
4140ex 449 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℤ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ𝑀)))
4239, 41syl 17 . . . . . . . . . . . . . . . . . 18 (𝑀 ∈ ℕ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ𝑀)))
43 peano2zm 11297 . . . . . . . . . . . . . . . . . . . 20 (𝑀 ∈ ℤ → (𝑀 − 1) ∈ ℤ)
4439, 43syl 17 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → (𝑀 − 1) ∈ ℤ)
457lem1d 10836 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → (𝑀 − 1) ≤ 𝑀)
46 eluzuzle 11572 . . . . . . . . . . . . . . . . . . 19 (((𝑀 − 1) ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀) → ((𝑁 − 1) ∈ (ℤ𝑀) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4744, 45, 46syl2anc 691 . . . . . . . . . . . . . . . . . 18 (𝑀 ∈ ℕ → ((𝑁 − 1) ∈ (ℤ𝑀) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4842, 47syld 46 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℕ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4948imp 444 . . . . . . . . . . . . . . . 16 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1)))
50 fzoss2 12365 . . . . . . . . . . . . . . . 16 ((𝑁 − 1) ∈ (ℤ‘(𝑀 − 1)) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
5149, 50syl 17 . . . . . . . . . . . . . . 15 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
5251adantl 481 . . . . . . . . . . . . . 14 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
53 ssralv 3629 . . . . . . . . . . . . . 14 ((0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)) → (∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 → ∀𝑖 ∈ (0..^(𝑀 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸))
5452, 53syl 17 . . . . . . . . . . . . 13 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 → ∀𝑖 ∈ (0..^(𝑀 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸))
553adantr 480 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑋 ∈ Word 𝑉)
567adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ∈ ℝ)
5710adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 + 1) ∈ ℝ)
5812adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → 𝑁 ∈ ℝ)
5958adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑁 ∈ ℝ)
6016adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ≤ (𝑀 + 1))
61 simpr 476 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 + 1) ≤ 𝑁)
6261adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 + 1) ≤ 𝑁)
6356, 57, 59, 60, 62letrd 10073 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀𝑁)
64 nnnn0 11176 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
6564adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ∈ ℕ0)
6665adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑀 ∈ ℕ0)
67 simpr 476 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℤ)
6867adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 𝑁 ∈ ℤ)
69 0red 9920 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 0 ∈ ℝ)
707adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑀 ∈ ℝ)
7112adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℝ)
7269, 70, 713jca 1235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → (0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ))
7372adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ))
7464nn0ge0d 11231 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑀 ∈ ℕ → 0 ≤ 𝑀)
7574adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 0 ≤ 𝑀)
7675anim1i 590 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (0 ≤ 𝑀𝑀𝑁))
77 letr 10010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((0 ≤ 𝑀𝑀𝑁) → 0 ≤ 𝑁))
7873, 76, 77sylc 63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 0 ≤ 𝑁)
7968, 78jca 553 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (𝑁 ∈ ℤ ∧ 0 ≤ 𝑁))
80 elnn0z 11267 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑁 ∈ ℕ0 ↔ (𝑁 ∈ ℤ ∧ 0 ≤ 𝑁))
8179, 80sylibr 223 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 𝑁 ∈ ℕ0)
8281ex 449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁𝑁 ∈ ℕ0))
8382expcom 450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑁 ∈ ℤ → (𝑀 ∈ ℕ → (𝑀𝑁𝑁 ∈ ℕ0)))
8483adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀𝑁𝑁 ∈ ℕ0)))
8584impcom 445 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀𝑁𝑁 ∈ ℕ0))
8685imp 444 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑁 ∈ ℕ0)
87 simpr 476 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑀𝑁)
8866, 86, 873jca 1235 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
8963, 88mpdan 699 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
9089expcom 450 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
91903adant1 1072 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
926, 91sylbi 206 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
9392impcom 445 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
94 elfz2nn0 12300 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ (0...𝑁) ↔ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
9593, 94sylibr 223 . . . . . . . . . . . . . . . . . . . . 21 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 ∈ (0...𝑁))
9695adantl 481 . . . . . . . . . . . . . . . . . . . 20 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ (0...𝑁))
97 oveq2 6557 . . . . . . . . . . . . . . . . . . . . . . 23 ((#‘𝑋) = 𝑁 → (0...(#‘𝑋)) = (0...𝑁))
9897eleq2d 2673 . . . . . . . . . . . . . . . . . . . . . 22 ((#‘𝑋) = 𝑁 → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
9998adantl 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
10099adantr 480 . . . . . . . . . . . . . . . . . . . 20 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
10196, 100mpbird 246 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ (0...(#‘𝑋)))
102101adantr 480 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑀 ∈ (0...(#‘𝑋)))
10344, 39, 453jca 1235 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℕ → ((𝑀 − 1) ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀))
104 eluz2 11569 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ (ℤ‘(𝑀 − 1)) ↔ ((𝑀 − 1) ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀))
105103, 104sylibr 223 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → 𝑀 ∈ (ℤ‘(𝑀 − 1)))
106 fzoss2 12365 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ (ℤ‘(𝑀 − 1)) → (0..^(𝑀 − 1)) ⊆ (0..^𝑀))
107105, 106syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → (0..^(𝑀 − 1)) ⊆ (0..^𝑀))
108107sseld 3567 . . . . . . . . . . . . . . . . . . . . 21 (𝑀 ∈ ℕ → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
109108adantr 480 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
110109adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
111110imp 444 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑖 ∈ (0..^𝑀))
112 swrd0fv 13291 . . . . . . . . . . . . . . . . . 18 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋)) ∧ 𝑖 ∈ (0..^𝑀)) → ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑋𝑖))
11355, 102, 111, 112syl3anc 1318 . . . . . . . . . . . . . . . . 17 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑋𝑖))
114113eqcomd 2616 . . . . . . . . . . . . . . . 16 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑋𝑖) = ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖))
115 fzonn0p1p1 12413 . . . . . . . . . . . . . . . . . . . . . 22 (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^((𝑀 − 1) + 1)))
116 nncn 10905 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑀 ∈ ℕ → 𝑀 ∈ ℂ)
117 npcan1 10334 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑀 ∈ ℂ → ((𝑀 − 1) + 1) = 𝑀)
118116, 117syl 17 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℕ → ((𝑀 − 1) + 1) = 𝑀)
119118oveq2d 6565 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → (0..^((𝑀 − 1) + 1)) = (0..^𝑀))
120119eleq2d 2673 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → ((𝑖 + 1) ∈ (0..^((𝑀 − 1) + 1)) ↔ (𝑖 + 1) ∈ (0..^𝑀)))
121115, 120syl5ib 233 . . . . . . . . . . . . . . . . . . . . 21 (𝑀 ∈ ℕ → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
122121adantr 480 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
123122adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
124123imp 444 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑖 + 1) ∈ (0..^𝑀))
125 swrd0fv 13291 . . . . . . . . . . . . . . . . . 18 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋)) ∧ (𝑖 + 1) ∈ (0..^𝑀)) → ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)) = (𝑋‘(𝑖 + 1)))
12655, 102, 124, 125syl3anc 1318 . . . . . . . . . . . . . . . . 17 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)) = (𝑋‘(𝑖 + 1)))
127126eqcomd 2616 . . . . . . . . . . . . . . . 16 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑋‘(𝑖 + 1)) = ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)))
128114, 127preq12d 4220 . . . . . . . . . . . . . . 15 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → {(𝑋𝑖), (𝑋‘(𝑖 + 1))} = {((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))})
129128eleq1d 2672 . . . . . . . . . . . . . 14 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ({(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
130129ralbidva 2968 . . . . . . . . . . . . 13 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^(𝑀 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ↔ ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
13154, 130sylibd 228 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
132131impancom 455 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) → ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
133132imp 444 . . . . . . . . . 10 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)
1343, 101jca 553 . . . . . . . . . . . . . . 15 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))))
135134adantlr 747 . . . . . . . . . . . . . 14 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))))
136 swrd0len 13274 . . . . . . . . . . . . . 14 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
137135, 136syl 17 . . . . . . . . . . . . 13 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
138137oveq1d 6564 . . . . . . . . . . . 12 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1) = (𝑀 − 1))
139138oveq2d 6565 . . . . . . . . . . 11 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)) = (0..^(𝑀 − 1)))
140139raleqdv 3121 . . . . . . . . . 10 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸 ↔ ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
141133, 140mpbird 246 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)
14234, 38, 1413jca 1235 . . . . . . . 8 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
1433, 101, 136syl2anc 691 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
144118eqcomd 2616 . . . . . . . . . . . 12 (𝑀 ∈ ℕ → 𝑀 = ((𝑀 − 1) + 1))
145144adantr 480 . . . . . . . . . . 11 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 = ((𝑀 − 1) + 1))
146145adantl 481 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 = ((𝑀 − 1) + 1))
147143, 146eqtrd 2644 . . . . . . . . 9 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))
148147adantlr 747 . . . . . . . 8 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))
149142, 148jca 553 . . . . . . 7 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1)))
150149ex 449 . . . . . 6 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) → ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
1511503adant3 1074 . . . . 5 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {( lastS ‘𝑋), (𝑋‘0)} ∈ ran 𝐸) → ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
1521, 151syl 17 . . . 4 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
153152impcom 445 . . 3 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1)))
154 nnm1nn0 11211 . . . . . . . 8 (𝑀 ∈ ℕ → (𝑀 − 1) ∈ ℕ0)
155154adantr 480 . . . . . . 7 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑀 − 1) ∈ ℕ0)
156 clwwlknprop 26300 . . . . . . . 8 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ 𝑋 ∈ Word 𝑉 ∧ (𝑁 ∈ ℕ0 ∧ (#‘𝑋) = 𝑁)))
157156simp1d 1066 . . . . . . 7 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → (𝑉 ∈ V ∧ 𝐸 ∈ V))
158155, 157anim12ci 589 . . . . . 6 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑀 − 1) ∈ ℕ0))
159 df-3an 1033 . . . . . 6 ((𝑉 ∈ V ∧ 𝐸 ∈ V ∧ (𝑀 − 1) ∈ ℕ0) ↔ ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑀 − 1) ∈ ℕ0))
160158, 159sylibr 223 . . . . 5 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (𝑉 ∈ V ∧ 𝐸 ∈ V ∧ (𝑀 − 1) ∈ ℕ0))
161 iswwlkn 26212 . . . . 5 ((𝑉 ∈ V ∧ 𝐸 ∈ V ∧ (𝑀 − 1) ∈ ℕ0) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1)) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
162160, 161syl 17 . . . 4 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1)) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
163 iswwlk 26211 . . . . . . 7 ((𝑉 ∈ V ∧ 𝐸 ∈ V) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)))
164157, 163syl 17 . . . . . 6 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)))
165164adantl 481 . . . . 5 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)))
166165anbi1d 737 . . . 4 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1)) ↔ (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
167162, 166bitrd 267 . . 3 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1)) ↔ (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))))
168153, 167mpbird 246 . 2 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1)))
169168ex 449 1 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → (𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  wne 2780  wral 2896  Vcvv 3173  wss 3540  c0 3874  {cpr 4127  cop 4131   class class class wbr 4583  ran crn 5039  cfv 5804  (class class class)co 6549  cc 9813  cr 9814  0cc0 9815  1c1 9816   + caddc 9818  cle 9954  cmin 10145  cn 10897  0cn0 11169  cz 11254  cuz 11563  ...cfz 12197  ..^cfzo 12334  #chash 12979  Word cword 13146   lastS clsw 13147   substr csubstr 13150   WWalks cwwlk 26205   WWalksN cwwlkn 26206   ClWWalksN cclwwlkn 26277
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-map 7746  df-pm 7747  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-substr 13158  df-wwlk 26207  df-wwlkn 26208  df-clwwlk 26279  df-clwwlkn 26280
This theorem is referenced by:  numclwlk2lem2f  26630
  Copyright terms: Public domain W3C validator