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

Theorem wwlksnextproplem2 26873
Description: Lemma 2 for wwlksnextprop 26875. (Contributed by Alexander van der Vekens, 1-Aug-2018.) (Revised by AV, 20-Apr-2021.)
Hypotheses
Ref Expression
wwlksnextprop.x 𝑋 = ((𝑁 + 1) WWalksN 𝐺)
wwlksnextprop.e 𝐸 = (Edg‘𝐺)
Assertion
Ref Expression
wwlksnextproplem2 ((𝑊𝑋𝑁 ∈ ℕ0) → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸)

Proof of Theorem wwlksnextproplem2
Dummy variable 𝑖 is distinct from all other variables.
StepHypRef Expression
1 eqid 2651 . . . . 5 (Vtx‘𝐺) = (Vtx‘𝐺)
2 wwlksnextprop.e . . . . 5 𝐸 = (Edg‘𝐺)
31, 2wwlknp 26791 . . . 4 (𝑊 ∈ ((𝑁 + 1) WWalksN 𝐺) → (𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸))
4 fzonn0p1 12584 . . . . . . . . . . 11 (𝑁 ∈ ℕ0𝑁 ∈ (0..^(𝑁 + 1)))
54adantl 481 . . . . . . . . . 10 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 𝑁 ∈ (0..^(𝑁 + 1)))
6 fveq2 6229 . . . . . . . . . . . . 13 (𝑖 = 𝑁 → (𝑊𝑖) = (𝑊𝑁))
7 oveq1 6697 . . . . . . . . . . . . . 14 (𝑖 = 𝑁 → (𝑖 + 1) = (𝑁 + 1))
87fveq2d 6233 . . . . . . . . . . . . 13 (𝑖 = 𝑁 → (𝑊‘(𝑖 + 1)) = (𝑊‘(𝑁 + 1)))
96, 8preq12d 4308 . . . . . . . . . . . 12 (𝑖 = 𝑁 → {(𝑊𝑖), (𝑊‘(𝑖 + 1))} = {(𝑊𝑁), (𝑊‘(𝑁 + 1))})
109eleq1d 2715 . . . . . . . . . . 11 (𝑖 = 𝑁 → ({(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 ↔ {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
1110rspcv 3336 . . . . . . . . . 10 (𝑁 ∈ (0..^(𝑁 + 1)) → (∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 → {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
125, 11syl 17 . . . . . . . . 9 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 → {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
1312imp 444 . . . . . . . 8 ((((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸) → {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸)
14 simpll 805 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 𝑊 ∈ Word (Vtx‘𝐺))
15 1zzd 11446 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 1 ∈ ℤ)
16 lencl 13356 . . . . . . . . . . . . . . . . . 18 (𝑊 ∈ Word (Vtx‘𝐺) → (#‘𝑊) ∈ ℕ0)
1716nn0zd 11518 . . . . . . . . . . . . . . . . 17 (𝑊 ∈ Word (Vtx‘𝐺) → (#‘𝑊) ∈ ℤ)
1817ad2antrr 762 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (#‘𝑊) ∈ ℤ)
19 peano2nn0 11371 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℕ0)
2019nn0zd 11518 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℤ)
2120adantl 481 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑁 + 1) ∈ ℤ)
2215, 18, 213jca 1261 . . . . . . . . . . . . . . 15 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (1 ∈ ℤ ∧ (#‘𝑊) ∈ ℤ ∧ (𝑁 + 1) ∈ ℤ))
23 nn0ge0 11356 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → 0 ≤ 𝑁)
24 1red 10093 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0 → 1 ∈ ℝ)
25 nn0re 11339 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0𝑁 ∈ ℝ)
2624, 25addge02d 10654 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (0 ≤ 𝑁 ↔ 1 ≤ (𝑁 + 1)))
2723, 26mpbid 222 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ0 → 1 ≤ (𝑁 + 1))
2827adantl 481 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 1 ≤ (𝑁 + 1))
2919nn0red 11390 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℝ)
3029lep1d 10993 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0 → (𝑁 + 1) ≤ ((𝑁 + 1) + 1))
31 breq2 4689 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝑊) = ((𝑁 + 1) + 1) → ((𝑁 + 1) ≤ (#‘𝑊) ↔ (𝑁 + 1) ≤ ((𝑁 + 1) + 1)))
3230, 31syl5ibrcom 237 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → ((#‘𝑊) = ((𝑁 + 1) + 1) → (𝑁 + 1) ≤ (#‘𝑊)))
3332a1i 11 . . . . . . . . . . . . . . . . . . 19 ((#‘𝑊) ∈ ℕ0 → (𝑁 ∈ ℕ0 → ((#‘𝑊) = ((𝑁 + 1) + 1) → (𝑁 + 1) ≤ (#‘𝑊))))
3433com23 86 . . . . . . . . . . . . . . . . . 18 ((#‘𝑊) ∈ ℕ0 → ((#‘𝑊) = ((𝑁 + 1) + 1) → (𝑁 ∈ ℕ0 → (𝑁 + 1) ≤ (#‘𝑊))))
3516, 34syl 17 . . . . . . . . . . . . . . . . 17 (𝑊 ∈ Word (Vtx‘𝐺) → ((#‘𝑊) = ((𝑁 + 1) + 1) → (𝑁 ∈ ℕ0 → (𝑁 + 1) ≤ (#‘𝑊))))
3635imp31 447 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑁 + 1) ≤ (#‘𝑊))
3728, 36jca 553 . . . . . . . . . . . . . . 15 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (1 ≤ (𝑁 + 1) ∧ (𝑁 + 1) ≤ (#‘𝑊)))
38 elfz2 12371 . . . . . . . . . . . . . . 15 ((𝑁 + 1) ∈ (1...(#‘𝑊)) ↔ ((1 ∈ ℤ ∧ (#‘𝑊) ∈ ℤ ∧ (𝑁 + 1) ∈ ℤ) ∧ (1 ≤ (𝑁 + 1) ∧ (𝑁 + 1) ≤ (#‘𝑊))))
3922, 37, 38sylanbrc 699 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑁 + 1) ∈ (1...(#‘𝑊)))
4014, 39jca 553 . . . . . . . . . . . . 13 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊 ∈ Word (Vtx‘𝐺) ∧ (𝑁 + 1) ∈ (1...(#‘𝑊))))
41 swrd0fvlsw 13489 . . . . . . . . . . . . 13 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (𝑁 + 1) ∈ (1...(#‘𝑊))) → ( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)) = (𝑊‘((𝑁 + 1) − 1)))
4240, 41syl 17 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)) = (𝑊‘((𝑁 + 1) − 1)))
43 nn0cn 11340 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
44 1cnd 10094 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0 → 1 ∈ ℂ)
4543, 44pncand 10431 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → ((𝑁 + 1) − 1) = 𝑁)
4645fveq2d 6233 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ0 → (𝑊‘((𝑁 + 1) − 1)) = (𝑊𝑁))
4746adantl 481 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊‘((𝑁 + 1) − 1)) = (𝑊𝑁))
4842, 47eqtrd 2685 . . . . . . . . . . 11 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)) = (𝑊𝑁))
49 lsw 13384 . . . . . . . . . . . . 13 (𝑊 ∈ Word (Vtx‘𝐺) → ( lastS ‘𝑊) = (𝑊‘((#‘𝑊) − 1)))
5049ad2antrr 762 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ( lastS ‘𝑊) = (𝑊‘((#‘𝑊) − 1)))
51 oveq1 6697 . . . . . . . . . . . . . . 15 ((#‘𝑊) = ((𝑁 + 1) + 1) → ((#‘𝑊) − 1) = (((𝑁 + 1) + 1) − 1))
5251fveq2d 6233 . . . . . . . . . . . . . 14 ((#‘𝑊) = ((𝑁 + 1) + 1) → (𝑊‘((#‘𝑊) − 1)) = (𝑊‘(((𝑁 + 1) + 1) − 1)))
5352adantl 481 . . . . . . . . . . . . 13 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) → (𝑊‘((#‘𝑊) − 1)) = (𝑊‘(((𝑁 + 1) + 1) − 1)))
5419nn0cnd 11391 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℂ)
5554, 44pncand 10431 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → (((𝑁 + 1) + 1) − 1) = (𝑁 + 1))
5655fveq2d 6233 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ0 → (𝑊‘(((𝑁 + 1) + 1) − 1)) = (𝑊‘(𝑁 + 1)))
5753, 56sylan9eq 2705 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊‘((#‘𝑊) − 1)) = (𝑊‘(𝑁 + 1)))
5850, 57eqtrd 2685 . . . . . . . . . . 11 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ( lastS ‘𝑊) = (𝑊‘(𝑁 + 1)))
5948, 58preq12d 4308 . . . . . . . . . 10 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} = {(𝑊𝑁), (𝑊‘(𝑁 + 1))})
6059eleq1d 2715 . . . . . . . . 9 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ({( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸 ↔ {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
6160adantr 480 . . . . . . . 8 ((((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸) → ({( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸 ↔ {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
6213, 61mpbird 247 . . . . . . 7 ((((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸) → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸)
6362exp31 629 . . . . . 6 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) → (𝑁 ∈ ℕ0 → (∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸)))
6463com23 86 . . . . 5 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1)) → (∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 → (𝑁 ∈ ℕ0 → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸)))
65643impia 1280 . . . 4 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑊) = ((𝑁 + 1) + 1) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸) → (𝑁 ∈ ℕ0 → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸))
663, 65syl 17 . . 3 (𝑊 ∈ ((𝑁 + 1) WWalksN 𝐺) → (𝑁 ∈ ℕ0 → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸))
67 wwlksnextprop.x . . 3 𝑋 = ((𝑁 + 1) WWalksN 𝐺)
6866, 67eleq2s 2748 . 2 (𝑊𝑋 → (𝑁 ∈ ℕ0 → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸))
6968imp 444 1 ((𝑊𝑋𝑁 ∈ ℕ0) → {( lastS ‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), ( lastS ‘𝑊)} ∈ 𝐸)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383  w3a 1054   = wceq 1523  wcel 2030  wral 2941  {cpr 4212  cop 4216   class class class wbr 4685  cfv 5926  (class class class)co 6690  0cc0 9974  1c1 9975   + caddc 9977  cle 10113  cmin 10304  0cn0 11330  cz 11415  ...cfz 12364  ..^cfzo 12504  #chash 13157  Word cword 13323   lastS clsw 13324   substr csubstr 13327  Vtxcvtx 25919  Edgcedg 25984   WWalksN cwwlksn 26774
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-rep 4804  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-cnex 10030  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-uni 4469  df-int 4508  df-iun 4554  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-om 7108  df-1st 7210  df-2nd 7211  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-1o 7605  df-oadd 7609  df-er 7787  df-map 7901  df-pm 7902  df-en 7998  df-dom 7999  df-sdom 8000  df-fin 8001  df-card 8803  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-nn 11059  df-n0 11331  df-z 11416  df-uz 11726  df-fz 12365  df-fzo 12505  df-hash 13158  df-word 13331  df-lsw 13332  df-substr 13335  df-wwlks 26778  df-wwlksn 26779
This theorem is referenced by:  wwlksnextprop  26875
  Copyright terms: Public domain W3C validator