Mathbox for BTernaryTau < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  swrdwlk Structured version   Visualization version   GIF version

Theorem swrdwlk 32400
 Description: Two matching subwords of a walk also represent a walk. (Contributed by BTernaryTau, 7-Dec-2023.)
Assertion
Ref Expression
swrdwlk ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 substr ⟨𝐵, 𝐿⟩)(Walks‘𝐺)(𝑃 substr ⟨𝐵, (𝐿 + 1)⟩))

Proof of Theorem swrdwlk
StepHypRef Expression
1 pfxwlk 32397 . . . . . . 7 ((𝐹(Walks‘𝐺)𝑃𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 prefix 𝐿)(Walks‘𝐺)(𝑃 prefix (𝐿 + 1)))
213adant2 1128 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 prefix 𝐿)(Walks‘𝐺)(𝑃 prefix (𝐿 + 1)))
3 revwlk 32398 . . . . . 6 ((𝐹 prefix 𝐿)(Walks‘𝐺)(𝑃 prefix (𝐿 + 1)) → (reverse‘(𝐹 prefix 𝐿))(Walks‘𝐺)(reverse‘(𝑃 prefix (𝐿 + 1))))
42, 3syl 17 . . . . 5 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (reverse‘(𝐹 prefix 𝐿))(Walks‘𝐺)(reverse‘(𝑃 prefix (𝐿 + 1))))
5 fznn0sub2 13016 . . . . . . 7 (𝐵 ∈ (0...𝐿) → (𝐿𝐵) ∈ (0...𝐿))
653ad2ant2 1131 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐿𝐵) ∈ (0...𝐿))
7 eqid 2824 . . . . . . . . . . 11 (iEdg‘𝐺) = (iEdg‘𝐺)
87wlkf 27402 . . . . . . . . . 10 (𝐹(Walks‘𝐺)𝑃𝐹 ∈ Word dom (iEdg‘𝐺))
983ad2ant1 1130 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐹 ∈ Word dom (iEdg‘𝐺))
10 pfxcl 14037 . . . . . . . . 9 (𝐹 ∈ Word dom (iEdg‘𝐺) → (𝐹 prefix 𝐿) ∈ Word dom (iEdg‘𝐺))
11 revlen 14122 . . . . . . . . 9 ((𝐹 prefix 𝐿) ∈ Word dom (iEdg‘𝐺) → (♯‘(reverse‘(𝐹 prefix 𝐿))) = (♯‘(𝐹 prefix 𝐿)))
129, 10, 113syl 18 . . . . . . . 8 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (♯‘(reverse‘(𝐹 prefix 𝐿))) = (♯‘(𝐹 prefix 𝐿)))
13 pfxlen 14043 . . . . . . . . . 10 ((𝐹 ∈ Word dom (iEdg‘𝐺) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (♯‘(𝐹 prefix 𝐿)) = 𝐿)
148, 13sylan 583 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃𝐿 ∈ (0...(♯‘𝐹))) → (♯‘(𝐹 prefix 𝐿)) = 𝐿)
15143adant2 1128 . . . . . . . 8 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (♯‘(𝐹 prefix 𝐿)) = 𝐿)
1612, 15eqtrd 2859 . . . . . . 7 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (♯‘(reverse‘(𝐹 prefix 𝐿))) = 𝐿)
1716oveq2d 7162 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (0...(♯‘(reverse‘(𝐹 prefix 𝐿)))) = (0...𝐿))
186, 17eleqtrrd 2919 . . . . 5 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐿𝐵) ∈ (0...(♯‘(reverse‘(𝐹 prefix 𝐿)))))
19 pfxwlk 32397 . . . . 5 (((reverse‘(𝐹 prefix 𝐿))(Walks‘𝐺)(reverse‘(𝑃 prefix (𝐿 + 1))) ∧ (𝐿𝐵) ∈ (0...(♯‘(reverse‘(𝐹 prefix 𝐿))))) → ((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))(Walks‘𝐺)((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿𝐵) + 1)))
204, 18, 19syl2anc 587 . . . 4 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → ((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))(Walks‘𝐺)((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿𝐵) + 1)))
21 elfzel2 12907 . . . . . . . 8 (𝐵 ∈ (0...𝐿) → 𝐿 ∈ ℤ)
22213ad2ant2 1131 . . . . . . 7 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐿 ∈ ℤ)
2322zcnd 12083 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐿 ∈ ℂ)
24 1cnd 10630 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 1 ∈ ℂ)
25 elfzelz 12909 . . . . . . . 8 (𝐵 ∈ (0...𝐿) → 𝐵 ∈ ℤ)
26253ad2ant2 1131 . . . . . . 7 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐵 ∈ ℤ)
2726zcnd 12083 . . . . . 6 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐵 ∈ ℂ)
2823, 24, 27addsubd 11012 . . . . 5 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → ((𝐿 + 1) − 𝐵) = ((𝐿𝐵) + 1))
2928oveq2d 7162 . . . 4 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → ((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵)) = ((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿𝐵) + 1)))
3020, 29breqtrrd 5081 . . 3 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → ((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))(Walks‘𝐺)((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵)))
31 revwlk 32398 . . 3 (((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))(Walks‘𝐺)((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵)) → (reverse‘((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵)))(Walks‘𝐺)(reverse‘((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵))))
3230, 31syl 17 . 2 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (reverse‘((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵)))(Walks‘𝐺)(reverse‘((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵))))
33 swrdrevpfx 32390 . . 3 ((𝐹 ∈ Word dom (iEdg‘𝐺) ∧ 𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 substr ⟨𝐵, 𝐿⟩) = (reverse‘((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))))
348, 33syl3an1 1160 . 2 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 substr ⟨𝐵, 𝐿⟩) = (reverse‘((reverse‘(𝐹 prefix 𝐿)) prefix (𝐿𝐵))))
35 eqid 2824 . . . . 5 (Vtx‘𝐺) = (Vtx‘𝐺)
3635wlkpwrd 27405 . . . 4 (𝐹(Walks‘𝐺)𝑃𝑃 ∈ Word (Vtx‘𝐺))
37363ad2ant1 1130 . . 3 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝑃 ∈ Word (Vtx‘𝐺))
38 fzelp1 12961 . . . 4 (𝐵 ∈ (0...𝐿) → 𝐵 ∈ (0...(𝐿 + 1)))
39383ad2ant2 1131 . . 3 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → 𝐵 ∈ (0...(𝐿 + 1)))
40 fzp1elp1 12962 . . . . 5 (𝐿 ∈ (0...(♯‘𝐹)) → (𝐿 + 1) ∈ (0...((♯‘𝐹) + 1)))
41403ad2ant3 1132 . . . 4 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐿 + 1) ∈ (0...((♯‘𝐹) + 1)))
42 wlklenvp1 27406 . . . . . 6 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝑃) = ((♯‘𝐹) + 1))
43423ad2ant1 1130 . . . . 5 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (♯‘𝑃) = ((♯‘𝐹) + 1))
4443oveq2d 7162 . . . 4 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (0...(♯‘𝑃)) = (0...((♯‘𝐹) + 1)))
4541, 44eleqtrrd 2919 . . 3 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐿 + 1) ∈ (0...(♯‘𝑃)))
46 swrdrevpfx 32390 . . 3 ((𝑃 ∈ Word (Vtx‘𝐺) ∧ 𝐵 ∈ (0...(𝐿 + 1)) ∧ (𝐿 + 1) ∈ (0...(♯‘𝑃))) → (𝑃 substr ⟨𝐵, (𝐿 + 1)⟩) = (reverse‘((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵))))
4737, 39, 45, 46syl3anc 1368 . 2 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝑃 substr ⟨𝐵, (𝐿 + 1)⟩) = (reverse‘((reverse‘(𝑃 prefix (𝐿 + 1))) prefix ((𝐿 + 1) − 𝐵))))
4832, 34, 473brtr4d 5085 1 ((𝐹(Walks‘𝐺)𝑃𝐵 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝐹))) → (𝐹 substr ⟨𝐵, 𝐿⟩)(Walks‘𝐺)(𝑃 substr ⟨𝐵, (𝐿 + 1)⟩))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ w3a 1084   = wceq 1538   ∈ wcel 2115  ⟨cop 4556   class class class wbr 5053  dom cdm 5543  ‘cfv 6344  (class class class)co 7146  0cc0 10531  1c1 10532   + caddc 10534   − cmin 10864  ℤcz 11976  ...cfz 12892  ♯chash 13693  Word cword 13864   substr csubstr 14000   prefix cpfx 14030  reversecreverse 14118  Vtxcvtx 26787  iEdgciedg 26788  Walkscwlks 27384 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1971  ax-7 2016  ax-8 2117  ax-9 2125  ax-10 2146  ax-11 2162  ax-12 2179  ax-ext 2796  ax-rep 5177  ax-sep 5190  ax-nul 5197  ax-pow 5254  ax-pr 5318  ax-un 7452  ax-cnex 10587  ax-resscn 10588  ax-1cn 10589  ax-icn 10590  ax-addcl 10591  ax-addrcl 10592  ax-mulcl 10593  ax-mulrcl 10594  ax-mulcom 10595  ax-addass 10596  ax-mulass 10597  ax-distr 10598  ax-i2m1 10599  ax-1ne0 10600  ax-1rid 10601  ax-rnegex 10602  ax-rrecex 10603  ax-cnre 10604  ax-pre-lttri 10605  ax-pre-lttrn 10606  ax-pre-ltadd 10607  ax-pre-mulgt0 10608 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-ifp 1059  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2071  df-mo 2624  df-eu 2655  df-clab 2803  df-cleq 2817  df-clel 2896  df-nfc 2964  df-ne 3015  df-nel 3119  df-ral 3138  df-rex 3139  df-reu 3140  df-rab 3142  df-v 3482  df-sbc 3759  df-csb 3867  df-dif 3922  df-un 3924  df-in 3926  df-ss 3936  df-pss 3938  df-nul 4277  df-if 4451  df-pw 4524  df-sn 4551  df-pr 4553  df-tp 4555  df-op 4557  df-uni 4826  df-int 4864  df-iun 4908  df-br 5054  df-opab 5116  df-mpt 5134  df-tr 5160  df-id 5448  df-eprel 5453  df-po 5462  df-so 5463  df-fr 5502  df-we 5504  df-xp 5549  df-rel 5550  df-cnv 5551  df-co 5552  df-dm 5553  df-rn 5554  df-res 5555  df-ima 5556  df-pred 6136  df-ord 6182  df-on 6183  df-lim 6184  df-suc 6185  df-iota 6303  df-fun 6346  df-fn 6347  df-f 6348  df-f1 6349  df-fo 6350  df-f1o 6351  df-fv 6352  df-riota 7104  df-ov 7149  df-oprab 7150  df-mpo 7151  df-om 7572  df-1st 7681  df-2nd 7682  df-wrecs 7939  df-recs 8000  df-rdg 8038  df-1o 8094  df-oadd 8098  df-er 8281  df-map 8400  df-pm 8401  df-en 8502  df-dom 8503  df-sdom 8504  df-fin 8505  df-card 9361  df-pnf 10671  df-mnf 10672  df-xr 10673  df-ltxr 10674  df-le 10675  df-sub 10866  df-neg 10867  df-nn 11633  df-2 11695  df-n0 11893  df-z 11977  df-uz 12239  df-fz 12893  df-fzo 13036  df-hash 13694  df-word 13865  df-substr 14001  df-pfx 14031  df-reverse 14119  df-wlks 27387 This theorem is referenced by: (None)
 Copyright terms: Public domain W3C validator