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

Theorem wwlksubclwwlk 26094
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 26066 . . . . 5 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {( lastS ‘𝑋), (𝑋‘0)} ∈ ran 𝐸))
2 simpl 471 . . . . . . . . . . . 12 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → 𝑋 ∈ Word 𝑉)
32adantr 479 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑋 ∈ Word 𝑉)
4 simpl 471 . . . . . . . . . . . 12 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 ∈ ℕ)
54adantl 480 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ ℕ)
6 eluz2 11521 . . . . . . . . . . . . . . 15 (𝑁 ∈ (ℤ‘(𝑀 + 1)) ↔ ((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁))
7 nnre 10870 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → 𝑀 ∈ ℝ)
87adantl 480 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ∈ ℝ)
9 peano2re 10056 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℝ → (𝑀 + 1) ∈ ℝ)
107, 9syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → (𝑀 + 1) ∈ ℝ)
1110adantl 480 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑀 + 1) ∈ ℝ)
12 zre 11210 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
1312adantr 479 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑁 ∈ ℝ)
148, 11, 133jca 1234 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ))
1514adantr 479 . . . . . . . . . . . . . . . . . . . 20 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ))
167lep1d 10800 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → 𝑀 ≤ (𝑀 + 1))
1716adantl 480 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝑀 + 1))
1817anim1i 589 . . . . . . . . . . . . . . . . . . . 20 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ≤ (𝑀 + 1) ∧ (𝑀 + 1) ≤ 𝑁))
19 letr 9978 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℝ ∧ (𝑀 + 1) ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑀 ≤ (𝑀 + 1) ∧ (𝑀 + 1) ≤ 𝑁) → 𝑀𝑁))
2015, 18, 19sylc 62 . . . . . . . . . . . . . . . . . . 19 (((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ (𝑀 + 1) ≤ 𝑁) → 𝑀𝑁)
2120expcom 449 . . . . . . . . . . . . . . . . . 18 ((𝑀 + 1) ≤ 𝑁 → ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀𝑁))
2221expd 450 . . . . . . . . . . . . . . . . 17 ((𝑀 + 1) ≤ 𝑁 → (𝑁 ∈ ℤ → (𝑀 ∈ ℕ → 𝑀𝑁)))
2322impcom 444 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → 𝑀𝑁))
24233adant1 1071 . . . . . . . . . . . . . . 15 (((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → 𝑀𝑁))
256, 24sylbi 205 . . . . . . . . . . . . . 14 (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑀 ∈ ℕ → 𝑀𝑁))
2625impcom 444 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀𝑁)
2726adantl 480 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀𝑁)
28 breq2 4577 . . . . . . . . . . . . . 14 ((#‘𝑋) = 𝑁 → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
2928adantl 480 . . . . . . . . . . . . 13 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
3029adantr 479 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑀 ≤ (#‘𝑋) ↔ 𝑀𝑁))
3127, 30mpbird 245 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ≤ (#‘𝑋))
32 swrdn0 13224 . . . . . . . . . . 11 ((𝑋 ∈ Word 𝑉𝑀 ∈ ℕ ∧ 𝑀 ≤ (#‘𝑋)) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
333, 5, 31, 32syl3anc 1317 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
3433adantlr 746 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ≠ ∅)
35 swrdcl 13213 . . . . . . . . . . . 12 (𝑋 ∈ Word 𝑉 → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3635adantr 479 . . . . . . . . . . 11 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3736adantr 479 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
3837adantr 479 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
39 nnz 11228 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → 𝑀 ∈ ℤ)
40 eluzp1m1 11539 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑁 − 1) ∈ (ℤ𝑀))
4140ex 448 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℤ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ𝑀)))
4239, 41syl 17 . . . . . . . . . . . . . . . . . 18 (𝑀 ∈ ℕ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ𝑀)))
43 peano2zm 11249 . . . . . . . . . . . . . . . . . . . 20 (𝑀 ∈ ℤ → (𝑀 − 1) ∈ ℤ)
4439, 43syl 17 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → (𝑀 − 1) ∈ ℤ)
457lem1d 10802 . . . . . . . . . . . . . . . . . . 19 (𝑀 ∈ ℕ → (𝑀 − 1) ≤ 𝑀)
46 eluzuzle 11524 . . . . . . . . . . . . . . . . . . 19 (((𝑀 − 1) ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀) → ((𝑁 − 1) ∈ (ℤ𝑀) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4744, 45, 46syl2anc 690 . . . . . . . . . . . . . . . . . 18 (𝑀 ∈ ℕ → ((𝑁 − 1) ∈ (ℤ𝑀) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4842, 47syld 45 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℕ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1))))
4948imp 443 . . . . . . . . . . . . . . . 16 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑁 − 1) ∈ (ℤ‘(𝑀 − 1)))
50 fzoss2 12316 . . . . . . . . . . . . . . . 16 ((𝑁 − 1) ∈ (ℤ‘(𝑀 − 1)) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
5149, 50syl 17 . . . . . . . . . . . . . . 15 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
5251adantl 480 . . . . . . . . . . . . . 14 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (0..^(𝑀 − 1)) ⊆ (0..^(𝑁 − 1)))
53 ssralv 3624 . . . . . . . . . . . . . 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 479 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑋 ∈ Word 𝑉)
567adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ∈ ℝ)
5710adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 + 1) ∈ ℝ)
5812adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → 𝑁 ∈ ℝ)
5958adantl 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑁 ∈ ℝ)
6016adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ≤ (𝑀 + 1))
61 simpr 475 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 + 1) ≤ 𝑁)
6261adantl 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 + 1) ≤ 𝑁)
6356, 57, 59, 60, 62letrd 10041 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀𝑁)
64 nnnn0 11142 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
6564adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → 𝑀 ∈ ℕ0)
6665adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑀 ∈ ℕ0)
67 simpr 475 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℤ)
6867adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 𝑁 ∈ ℤ)
69 0red 9893 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 0 ∈ ℝ)
707adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑀 ∈ ℝ)
7112adantl 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℝ)
7269, 70, 713jca 1234 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → (0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ))
7372adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ))
7464nn0ge0d 11197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑀 ∈ ℕ → 0 ≤ 𝑀)
7574adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → 0 ≤ 𝑀)
7675anim1i 589 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (0 ≤ 𝑀𝑀𝑁))
77 letr 9978 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((0 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((0 ≤ 𝑀𝑀𝑁) → 0 ≤ 𝑁))
7873, 76, 77sylc 62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 0 ≤ 𝑁)
7968, 78jca 552 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → (𝑁 ∈ ℤ ∧ 0 ≤ 𝑁))
80 elnn0z 11219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑁 ∈ ℕ0 ↔ (𝑁 ∈ ℤ ∧ 0 ≤ 𝑁))
8179, 80sylibr 222 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑀𝑁) → 𝑁 ∈ ℕ0)
8281ex 448 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁𝑁 ∈ ℕ0))
8382expcom 449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑁 ∈ ℤ → (𝑀 ∈ ℕ → (𝑀𝑁𝑁 ∈ ℕ0)))
8483adantr 479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀𝑁𝑁 ∈ ℕ0)))
8584impcom 444 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀𝑁𝑁 ∈ ℕ0))
8685imp 443 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑁 ∈ ℕ0)
87 simpr 475 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → 𝑀𝑁)
8866, 86, 873jca 1234 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) ∧ 𝑀𝑁) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
8963, 88mpdan 698 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑀 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁)) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
9089expcom 449 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
91903adant1 1071 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑀 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑀 + 1) ≤ 𝑁) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
926, 91sylbi 205 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ (ℤ‘(𝑀 + 1)) → (𝑀 ∈ ℕ → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁)))
9392impcom 444 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
94 elfz2nn0 12251 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ (0...𝑁) ↔ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
9593, 94sylibr 222 . . . . . . . . . . . . . . . . . . . . 21 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 ∈ (0...𝑁))
9695adantl 480 . . . . . . . . . . . . . . . . . . . 20 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ (0...𝑁))
97 oveq2 6531 . . . . . . . . . . . . . . . . . . . . . . 23 ((#‘𝑋) = 𝑁 → (0...(#‘𝑋)) = (0...𝑁))
9897eleq2d 2668 . . . . . . . . . . . . . . . . . . . . . 22 ((#‘𝑋) = 𝑁 → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
9998adantl 480 . . . . . . . . . . . . . . . . . . . . 21 ((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
10099adantr 479 . . . . . . . . . . . . . . . . . . . 20 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑀 ∈ (0...(#‘𝑋)) ↔ 𝑀 ∈ (0...𝑁)))
10196, 100mpbird 245 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 ∈ (0...(#‘𝑋)))
102101adantr 479 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑀 ∈ (0...(#‘𝑋)))
10344, 39, 453jca 1234 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℕ → ((𝑀 − 1) ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀))
104 eluz2 11521 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ (ℤ‘(𝑀 − 1)) ↔ ((𝑀 − 1) ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ (𝑀 − 1) ≤ 𝑀))
105103, 104sylibr 222 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → 𝑀 ∈ (ℤ‘(𝑀 − 1)))
106 fzoss2 12316 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ (ℤ‘(𝑀 − 1)) → (0..^(𝑀 − 1)) ⊆ (0..^𝑀))
107105, 106syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → (0..^(𝑀 − 1)) ⊆ (0..^𝑀))
108107sseld 3562 . . . . . . . . . . . . . . . . . . . . 21 (𝑀 ∈ ℕ → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
109108adantr 479 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
110109adantl 480 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑖 ∈ (0..^(𝑀 − 1)) → 𝑖 ∈ (0..^𝑀)))
111110imp 443 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → 𝑖 ∈ (0..^𝑀))
112 swrd0fv 13233 . . . . . . . . . . . . . . . . . 18 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋)) ∧ 𝑖 ∈ (0..^𝑀)) → ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑋𝑖))
11355, 102, 111, 112syl3anc 1317 . . . . . . . . . . . . . . . . 17 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑋𝑖))
114113eqcomd 2611 . . . . . . . . . . . . . . . 16 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑋𝑖) = ((𝑋 substr ⟨0, 𝑀⟩)‘𝑖))
115 fzonn0p1p1 12364 . . . . . . . . . . . . . . . . . . . . . 22 (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^((𝑀 − 1) + 1)))
116 nncn 10871 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑀 ∈ ℕ → 𝑀 ∈ ℂ)
117 npcan1 10302 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑀 ∈ ℂ → ((𝑀 − 1) + 1) = 𝑀)
118116, 117syl 17 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑀 ∈ ℕ → ((𝑀 − 1) + 1) = 𝑀)
119118oveq2d 6539 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑀 ∈ ℕ → (0..^((𝑀 − 1) + 1)) = (0..^𝑀))
120119eleq2d 2668 . . . . . . . . . . . . . . . . . . . . . 22 (𝑀 ∈ ℕ → ((𝑖 + 1) ∈ (0..^((𝑀 − 1) + 1)) ↔ (𝑖 + 1) ∈ (0..^𝑀)))
121115, 120syl5ib 232 . . . . . . . . . . . . . . . . . . . . 21 (𝑀 ∈ ℕ → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
122121adantr 479 . . . . . . . . . . . . . . . . . . . 20 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
123122adantl 480 . . . . . . . . . . . . . . . . . . 19 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑖 ∈ (0..^(𝑀 − 1)) → (𝑖 + 1) ∈ (0..^𝑀)))
124123imp 443 . . . . . . . . . . . . . . . . . 18 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑖 + 1) ∈ (0..^𝑀))
125 swrd0fv 13233 . . . . . . . . . . . . . . . . . 18 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋)) ∧ (𝑖 + 1) ∈ (0..^𝑀)) → ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)) = (𝑋‘(𝑖 + 1)))
12655, 102, 124, 125syl3anc 1317 . . . . . . . . . . . . . . . . 17 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)) = (𝑋‘(𝑖 + 1)))
127126eqcomd 2611 . . . . . . . . . . . . . . . 16 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → (𝑋‘(𝑖 + 1)) = ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1)))
128114, 127preq12d 4215 . . . . . . . . . . . . . . 15 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → {(𝑋𝑖), (𝑋‘(𝑖 + 1))} = {((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))})
129128eleq1d 2667 . . . . . . . . . . . . . 14 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) ∧ 𝑖 ∈ (0..^(𝑀 − 1))) → ({(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
130129ralbidva 2963 . . . . . . . . . . . . 13 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^(𝑀 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 ↔ ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
13154, 130sylibd 227 . . . . . . . . . . . 12 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸 → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
132131impancom 454 . . . . . . . . . . 11 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) → ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸))
133132imp 443 . . . . . . . . . 10 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ∀𝑖 ∈ (0..^(𝑀 − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)
1343, 101jca 552 . . . . . . . . . . . . . . 15 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))))
135134adantlr 746 . . . . . . . . . . . . . 14 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))))
136 swrd0len 13216 . . . . . . . . . . . . . 14 ((𝑋 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑋))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
137135, 136syl 17 . . . . . . . . . . . . 13 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
138137oveq1d 6538 . . . . . . . . . . . 12 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1) = (𝑀 − 1))
139138oveq2d 6539 . . . . . . . . . . 11 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)) = (0..^(𝑀 − 1)))
140139raleqdv 3116 . . . . . . . . . 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 245 . . . . . . . . 9 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)
14234, 38, 1413jca 1234 . . . . . . . 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 690 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = 𝑀)
144118eqcomd 2611 . . . . . . . . . . . 12 (𝑀 ∈ ℕ → 𝑀 = ((𝑀 − 1) + 1))
145144adantr 479 . . . . . . . . . . 11 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 = ((𝑀 − 1) + 1))
146145adantl 480 . . . . . . . . . 10 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → 𝑀 = ((𝑀 − 1) + 1))
147143, 146eqtrd 2639 . . . . . . . . 9 (((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))
148147adantlr 746 . . . . . . . 8 ((((𝑋 ∈ Word 𝑉 ∧ (#‘𝑋) = 𝑁) ∧ ∀𝑖 ∈ (0..^(𝑁 − 1)){(𝑋𝑖), (𝑋‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1)))) → (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1))
149142, 148jca 552 . . . . . . 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 448 . . . . . 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 1073 . . . . 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 444 . . 3 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸) ∧ (#‘(𝑋 substr ⟨0, 𝑀⟩)) = ((𝑀 − 1) + 1)))
154 nnm1nn0 11177 . . . . . . . 8 (𝑀 ∈ ℕ → (𝑀 − 1) ∈ ℕ0)
155154adantr 479 . . . . . . 7 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑀 − 1) ∈ ℕ0)
156 clwwlknprop 26062 . . . . . . . 8 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ 𝑋 ∈ Word 𝑉 ∧ (𝑁 ∈ ℕ0 ∧ (#‘𝑋) = 𝑁)))
157156simp1d 1065 . . . . . . 7 (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → (𝑉 ∈ V ∧ 𝐸 ∈ V))
158155, 157anim12ci 588 . . . . . 6 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑀 − 1) ∈ ℕ0))
159 df-3an 1032 . . . . . 6 ((𝑉 ∈ V ∧ 𝐸 ∈ V ∧ (𝑀 − 1) ∈ ℕ0) ↔ ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑀 − 1) ∈ ℕ0))
160158, 159sylibr 222 . . . . 5 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (𝑉 ∈ V ∧ 𝐸 ∈ V ∧ (𝑀 − 1) ∈ ℕ0))
161 iswwlkn 25974 . . . . 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 25973 . . . . . . 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 480 . . . . 5 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → ((𝑋 substr ⟨0, 𝑀⟩) ∈ (𝑉 WWalks 𝐸) ↔ ((𝑋 substr ⟨0, 𝑀⟩) ≠ ∅ ∧ (𝑋 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((#‘(𝑋 substr ⟨0, 𝑀⟩)) − 1)){((𝑋 substr ⟨0, 𝑀⟩)‘𝑖), ((𝑋 substr ⟨0, 𝑀⟩)‘(𝑖 + 1))} ∈ ran 𝐸)))
166165anbi1d 736 . . . 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 266 . . 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 245 . 2 (((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) ∧ 𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁)) → (𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1)))
169168ex 448 1 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → (𝑋 ∈ ((𝑉 ClWWalksN 𝐸)‘𝑁) → (𝑋 substr ⟨0, 𝑀⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑀 − 1))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 194  wa 382  w3a 1030   = wceq 1474  wcel 1975  wne 2775  wral 2891  Vcvv 3168  wss 3535  c0 3869  {cpr 4122  cop 4126   class class class wbr 4573  ran crn 5025  cfv 5786  (class class class)co 6523  cc 9786  cr 9787  0cc0 9788  1c1 9789   + caddc 9791  cle 9927  cmin 10113  cn 10863  0cn0 11135  cz 11206  cuz 11515  ...cfz 12148  ..^cfzo 12285  #chash 12930  Word cword 13088   lastS clsw 13089   substr csubstr 13092   WWalks cwwlk 25967   WWalksN cwwlkn 25968   ClWWalksN cclwwlkn 26039
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1711  ax-4 1726  ax-5 1825  ax-6 1873  ax-7 1920  ax-8 1977  ax-9 1984  ax-10 2004  ax-11 2019  ax-12 2031  ax-13 2228  ax-ext 2585  ax-rep 4689  ax-sep 4699  ax-nul 4708  ax-pow 4760  ax-pr 4824  ax-un 6820  ax-cnex 9844  ax-resscn 9845  ax-1cn 9846  ax-icn 9847  ax-addcl 9848  ax-addrcl 9849  ax-mulcl 9850  ax-mulrcl 9851  ax-mulcom 9852  ax-addass 9853  ax-mulass 9854  ax-distr 9855  ax-i2m1 9856  ax-1ne0 9857  ax-1rid 9858  ax-rnegex 9859  ax-rrecex 9860  ax-cnre 9861  ax-pre-lttri 9862  ax-pre-lttrn 9863  ax-pre-ltadd 9864  ax-pre-mulgt0 9865
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1700  df-sb 1866  df-eu 2457  df-mo 2458  df-clab 2592  df-cleq 2598  df-clel 2601  df-nfc 2735  df-ne 2777  df-nel 2778  df-ral 2896  df-rex 2897  df-reu 2898  df-rab 2900  df-v 3170  df-sbc 3398  df-csb 3495  df-dif 3538  df-un 3540  df-in 3542  df-ss 3549  df-pss 3551  df-nul 3870  df-if 4032  df-pw 4105  df-sn 4121  df-pr 4123  df-tp 4125  df-op 4127  df-uni 4363  df-int 4401  df-iun 4447  df-br 4574  df-opab 4634  df-mpt 4635  df-tr 4671  df-eprel 4935  df-id 4939  df-po 4945  df-so 4946  df-fr 4983  df-we 4985  df-xp 5030  df-rel 5031  df-cnv 5032  df-co 5033  df-dm 5034  df-rn 5035  df-res 5036  df-ima 5037  df-pred 5579  df-ord 5625  df-on 5626  df-lim 5627  df-suc 5628  df-iota 5750  df-fun 5788  df-fn 5789  df-f 5790  df-f1 5791  df-fo 5792  df-f1o 5793  df-fv 5794  df-riota 6485  df-ov 6526  df-oprab 6527  df-mpt2 6528  df-om 6931  df-1st 7032  df-2nd 7033  df-wrecs 7267  df-recs 7328  df-rdg 7366  df-1o 7420  df-oadd 7424  df-er 7602  df-map 7719  df-pm 7720  df-en 7815  df-dom 7816  df-sdom 7817  df-fin 7818  df-card 8621  df-pnf 9928  df-mnf 9929  df-xr 9930  df-ltxr 9931  df-le 9932  df-sub 10115  df-neg 10116  df-nn 10864  df-n0 11136  df-z 11207  df-uz 11516  df-fz 12149  df-fzo 12286  df-hash 12931  df-word 13096  df-substr 13100  df-wwlk 25969  df-wwlkn 25970  df-clwwlk 26041  df-clwwlkn 26042
This theorem is referenced by:  numclwlk2lem2f  26392
  Copyright terms: Public domain W3C validator