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

Theorem wwlksnextproplem2 27028
 Description: Lemma 2 for wwlksnextprop 27030. (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 2760 . . . . 5 (Vtx‘𝐺) = (Vtx‘𝐺)
2 wwlksnextprop.e . . . . 5 𝐸 = (Edg‘𝐺)
31, 2wwlknp 26946 . . . 4 (𝑊 ∈ ((𝑁 + 1) WWalksN 𝐺) → (𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1) ∧ ∀𝑖 ∈ (0..^(𝑁 + 1)){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸))
4 fzonn0p1 12739 . . . . . . . . . . 11 (𝑁 ∈ ℕ0𝑁 ∈ (0..^(𝑁 + 1)))
54adantl 473 . . . . . . . . . 10 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 𝑁 ∈ (0..^(𝑁 + 1)))
6 fveq2 6352 . . . . . . . . . . . . 13 (𝑖 = 𝑁 → (𝑊𝑖) = (𝑊𝑁))
7 oveq1 6820 . . . . . . . . . . . . . 14 (𝑖 = 𝑁 → (𝑖 + 1) = (𝑁 + 1))
87fveq2d 6356 . . . . . . . . . . . . 13 (𝑖 = 𝑁 → (𝑊‘(𝑖 + 1)) = (𝑊‘(𝑁 + 1)))
96, 8preq12d 4420 . . . . . . . . . . . 12 (𝑖 = 𝑁 → {(𝑊𝑖), (𝑊‘(𝑖 + 1))} = {(𝑊𝑁), (𝑊‘(𝑁 + 1))})
109eleq1d 2824 . . . . . . . . . . 11 (𝑖 = 𝑁 → ({(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ 𝐸 ↔ {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
1110rspcv 3445 . . . . . . . . . 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 807 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 𝑊 ∈ Word (Vtx‘𝐺))
15 1zzd 11600 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 1 ∈ ℤ)
16 lencl 13510 . . . . . . . . . . . . . . . . . 18 (𝑊 ∈ Word (Vtx‘𝐺) → (♯‘𝑊) ∈ ℕ0)
1716nn0zd 11672 . . . . . . . . . . . . . . . . 17 (𝑊 ∈ Word (Vtx‘𝐺) → (♯‘𝑊) ∈ ℤ)
1817ad2antrr 764 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (♯‘𝑊) ∈ ℤ)
19 peano2nn0 11525 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℕ0)
2019nn0zd 11672 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℤ)
2120adantl 473 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑁 + 1) ∈ ℤ)
2215, 18, 213jca 1123 . . . . . . . . . . . . . . 15 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (1 ∈ ℤ ∧ (♯‘𝑊) ∈ ℤ ∧ (𝑁 + 1) ∈ ℤ))
23 nn0ge0 11510 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → 0 ≤ 𝑁)
24 1red 10247 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0 → 1 ∈ ℝ)
25 nn0re 11493 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0𝑁 ∈ ℝ)
2624, 25addge02d 10808 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (0 ≤ 𝑁 ↔ 1 ≤ (𝑁 + 1)))
2723, 26mpbid 222 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ0 → 1 ≤ (𝑁 + 1))
2827adantl 473 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → 1 ≤ (𝑁 + 1))
2919nn0red 11544 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℝ)
3029lep1d 11147 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0 → (𝑁 + 1) ≤ ((𝑁 + 1) + 1))
31 breq2 4808 . . . . . . . . . . . . . . . . . . . . 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 555 . . . . . . . . . . . . . . 15 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (1 ≤ (𝑁 + 1) ∧ (𝑁 + 1) ≤ (♯‘𝑊)))
38 elfz2 12526 . . . . . . . . . . . . . . 15 ((𝑁 + 1) ∈ (1...(♯‘𝑊)) ↔ ((1 ∈ ℤ ∧ (♯‘𝑊) ∈ ℤ ∧ (𝑁 + 1) ∈ ℤ) ∧ (1 ≤ (𝑁 + 1) ∧ (𝑁 + 1) ≤ (♯‘𝑊))))
3922, 37, 38sylanbrc 701 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑁 + 1) ∈ (1...(♯‘𝑊)))
4014, 39jca 555 . . . . . . . . . . . . 13 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊 ∈ Word (Vtx‘𝐺) ∧ (𝑁 + 1) ∈ (1...(♯‘𝑊))))
41 swrd0fvlsw 13643 . . . . . . . . . . . . 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 11494 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
44 1cnd 10248 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0 → 1 ∈ ℂ)
4543, 44pncand 10585 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → ((𝑁 + 1) − 1) = 𝑁)
4645fveq2d 6356 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ0 → (𝑊‘((𝑁 + 1) − 1)) = (𝑊𝑁))
4746adantl 473 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊‘((𝑁 + 1) − 1)) = (𝑊𝑁))
4842, 47eqtrd 2794 . . . . . . . . . . 11 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (lastS‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)) = (𝑊𝑁))
49 lsw 13538 . . . . . . . . . . . . 13 (𝑊 ∈ Word (Vtx‘𝐺) → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1)))
5049ad2antrr 764 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1)))
51 oveq1 6820 . . . . . . . . . . . . . . 15 ((♯‘𝑊) = ((𝑁 + 1) + 1) → ((♯‘𝑊) − 1) = (((𝑁 + 1) + 1) − 1))
5251fveq2d 6356 . . . . . . . . . . . . . 14 ((♯‘𝑊) = ((𝑁 + 1) + 1) → (𝑊‘((♯‘𝑊) − 1)) = (𝑊‘(((𝑁 + 1) + 1) − 1)))
5352adantl 473 . . . . . . . . . . . . 13 ((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) → (𝑊‘((♯‘𝑊) − 1)) = (𝑊‘(((𝑁 + 1) + 1) − 1)))
5419nn0cnd 11545 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℂ)
5554, 44pncand 10585 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → (((𝑁 + 1) + 1) − 1) = (𝑁 + 1))
5655fveq2d 6356 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ0 → (𝑊‘(((𝑁 + 1) + 1) − 1)) = (𝑊‘(𝑁 + 1)))
5753, 56sylan9eq 2814 . . . . . . . . . . . 12 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (𝑊‘((♯‘𝑊) − 1)) = (𝑊‘(𝑁 + 1)))
5850, 57eqtrd 2794 . . . . . . . . . . 11 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → (lastS‘𝑊) = (𝑊‘(𝑁 + 1)))
5948, 58preq12d 4420 . . . . . . . . . 10 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → {(lastS‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), (lastS‘𝑊)} = {(𝑊𝑁), (𝑊‘(𝑁 + 1))})
6059eleq1d 2824 . . . . . . . . 9 (((𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = ((𝑁 + 1) + 1)) ∧ 𝑁 ∈ ℕ0) → ({(lastS‘(𝑊 substr ⟨0, (𝑁 + 1)⟩)), (lastS‘𝑊)} ∈ 𝐸 ↔ {(𝑊𝑁), (𝑊‘(𝑁 + 1))} ∈ 𝐸))
6160adantr 472 . . . . . . . 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 631 . . . . . 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 1110 . . . 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 2857 . 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 1072   = wceq 1632   ∈ wcel 2139  ∀wral 3050  {cpr 4323  ⟨cop 4327   class class class wbr 4804  ‘cfv 6049  (class class class)co 6813  0cc0 10128  1c1 10129   + caddc 10131   ≤ cle 10267   − cmin 10458  ℕ0cn0 11484  ℤcz 11569  ...cfz 12519  ..^cfzo 12659  ♯chash 13311  Word cword 13477  lastSclsw 13478   substr csubstr 13481  Vtxcvtx 26073  Edgcedg 26138   WWalksN cwwlksn 26929 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-8 2141  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-rep 4923  ax-sep 4933  ax-nul 4941  ax-pow 4992  ax-pr 5055  ax-un 7114  ax-cnex 10184  ax-resscn 10185  ax-1cn 10186  ax-icn 10187  ax-addcl 10188  ax-addrcl 10189  ax-mulcl 10190  ax-mulrcl 10191  ax-mulcom 10192  ax-addass 10193  ax-mulass 10194  ax-distr 10195  ax-i2m1 10196  ax-1ne0 10197  ax-1rid 10198  ax-rnegex 10199  ax-rrecex 10200  ax-cnre 10201  ax-pre-lttri 10202  ax-pre-lttrn 10203  ax-pre-ltadd 10204  ax-pre-mulgt0 10205 This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ne 2933  df-nel 3036  df-ral 3055  df-rex 3056  df-reu 3057  df-rab 3059  df-v 3342  df-sbc 3577  df-csb 3675  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-pss 3731  df-nul 4059  df-if 4231  df-pw 4304  df-sn 4322  df-pr 4324  df-tp 4326  df-op 4328  df-uni 4589  df-int 4628  df-iun 4674  df-br 4805  df-opab 4865  df-mpt 4882  df-tr 4905  df-id 5174  df-eprel 5179  df-po 5187  df-so 5188  df-fr 5225  df-we 5227  df-xp 5272  df-rel 5273  df-cnv 5274  df-co 5275  df-dm 5276  df-rn 5277  df-res 5278  df-ima 5279  df-pred 5841  df-ord 5887  df-on 5888  df-lim 5889  df-suc 5890  df-iota 6012  df-fun 6051  df-fn 6052  df-f 6053  df-f1 6054  df-fo 6055  df-f1o 6056  df-fv 6057  df-riota 6774  df-ov 6816  df-oprab 6817  df-mpt2 6818  df-om 7231  df-1st 7333  df-2nd 7334  df-wrecs 7576  df-recs 7637  df-rdg 7675  df-1o 7729  df-oadd 7733  df-er 7911  df-map 8025  df-pm 8026  df-en 8122  df-dom 8123  df-sdom 8124  df-fin 8125  df-card 8955  df-pnf 10268  df-mnf 10269  df-xr 10270  df-ltxr 10271  df-le 10272  df-sub 10460  df-neg 10461  df-nn 11213  df-n0 11485  df-z 11570  df-uz 11880  df-fz 12520  df-fzo 12660  df-hash 13312  df-word 13485  df-lsw 13486  df-substr 13489  df-wwlks 26933  df-wwlksn 26934 This theorem is referenced by:  wwlksnextprop  27030
 Copyright terms: Public domain W3C validator