Metamath Proof Explorer


Theorem pfxwlk

Description: A prefix of a walk is a walk. (Contributed by BTernaryTau, 2-Dec-2023)

Ref Expression
Assertion pfxwlk FWalksGPL0FFprefixLWalksGPprefixL+1

Proof

Step Hyp Ref Expression
1 eqid iEdgG=iEdgG
2 1 wlkf FWalksGPFWorddomiEdgG
3 2 adantr FWalksGPL0FFWorddomiEdgG
4 pfxcl FWorddomiEdgGFprefixLWorddomiEdgG
5 3 4 syl FWalksGPL0FFprefixLWorddomiEdgG
6 eqid VtxG=VtxG
7 6 wlkp FWalksGPP:0FVtxG
8 7 adantr FWalksGPL0FP:0FVtxG
9 elfzuz3 L0FFL
10 fzss2 FL0L0F
11 9 10 syl L0F0L0F
12 11 adantl FWalksGPL0F0L0F
13 8 12 fssresd FWalksGPL0FP0L:0LVtxG
14 pfxlen FWorddomiEdgGL0FFprefixL=L
15 2 14 sylan FWalksGPL0FFprefixL=L
16 15 oveq2d FWalksGPL0F0FprefixL=0L
17 16 feq2d FWalksGPL0FP0L:0FprefixLVtxGP0L:0LVtxG
18 13 17 mpbird FWalksGPL0FP0L:0FprefixLVtxG
19 6 wlkpwrd FWalksGPPWordVtxG
20 fzp1elp1 L0FL+10F+1
21 20 adantl FWalksGPL0FL+10F+1
22 wlklenvp1 FWalksGPP=F+1
23 22 oveq2d FWalksGP0P=0F+1
24 23 adantr FWalksGPL0F0P=0F+1
25 21 24 eleqtrrd FWalksGPL0FL+10P
26 pfxres PWordVtxGL+10PPprefixL+1=P0..^L+1
27 19 25 26 syl2an2r FWalksGPL0FPprefixL+1=P0..^L+1
28 elfzelz L0FL
29 fzval3 L0L=0..^L+1
30 28 29 syl L0F0L=0..^L+1
31 30 adantl FWalksGPL0F0L=0..^L+1
32 31 reseq2d FWalksGPL0FP0L=P0..^L+1
33 27 32 eqtr4d FWalksGPL0FPprefixL+1=P0L
34 33 feq1d FWalksGPL0FPprefixL+1:0FprefixLVtxGP0L:0FprefixLVtxG
35 18 34 mpbird FWalksGPL0FPprefixL+1:0FprefixLVtxG
36 6 1 wlkprop FWalksGPFWorddomiEdgGP:0FVtxGx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFx
37 36 simp3d FWalksGPx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFx
38 37 adantr FWalksGPL0Fx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFx
39 38 adantr FWalksGPL0Fk0..^FprefixLx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFx
40 15 oveq2d FWalksGPL0F0..^FprefixL=0..^L
41 40 eleq2d FWalksGPL0Fk0..^FprefixLk0..^L
42 33 fveq1d FWalksGPL0FPprefixL+1k=P0Lk
43 42 adantr FWalksGPL0Fk0..^LPprefixL+1k=P0Lk
44 fzossfz 0..^L0L
45 44 a1i FWalksGPL0F0..^L0L
46 45 sselda FWalksGPL0Fk0..^Lk0L
47 46 fvresd FWalksGPL0Fk0..^LP0Lk=Pk
48 43 47 eqtr2d FWalksGPL0Fk0..^LPk=PprefixL+1k
49 33 fveq1d FWalksGPL0FPprefixL+1k+1=P0Lk+1
50 49 adantr FWalksGPL0Fk0..^LPprefixL+1k+1=P0Lk+1
51 fzofzp1 k0..^Lk+10L
52 51 adantl FWalksGPL0Fk0..^Lk+10L
53 52 fvresd FWalksGPL0Fk0..^LP0Lk+1=Pk+1
54 50 53 eqtr2d FWalksGPL0Fk0..^LPk+1=PprefixL+1k+1
55 48 54 jca FWalksGPL0Fk0..^LPk=PprefixL+1kPk+1=PprefixL+1k+1
56 55 ex FWalksGPL0Fk0..^LPk=PprefixL+1kPk+1=PprefixL+1k+1
57 41 56 sylbid FWalksGPL0Fk0..^FprefixLPk=PprefixL+1kPk+1=PprefixL+1k+1
58 57 imp FWalksGPL0Fk0..^FprefixLPk=PprefixL+1kPk+1=PprefixL+1k+1
59 3 ancli FWalksGPL0FFWalksGPL0FFWorddomiEdgG
60 simpr FWalksGPL0FFWorddomiEdgGk0..^Lk0..^L
61 60 fvresd FWalksGPL0FFWorddomiEdgGk0..^LF0..^Lk=Fk
62 61 fveq2d FWalksGPL0FFWorddomiEdgGk0..^LiEdgGF0..^Lk=iEdgGFk
63 59 62 sylan FWalksGPL0Fk0..^LiEdgGF0..^Lk=iEdgGFk
64 63 eqcomd FWalksGPL0Fk0..^LiEdgGFk=iEdgGF0..^Lk
65 64 ex FWalksGPL0Fk0..^LiEdgGFk=iEdgGF0..^Lk
66 41 65 sylbid FWalksGPL0Fk0..^FprefixLiEdgGFk=iEdgGF0..^Lk
67 66 imp FWalksGPL0Fk0..^FprefixLiEdgGFk=iEdgGF0..^Lk
68 simplr FWalksGPL0Fk0..^FprefixLL0F
69 pfxres FWorddomiEdgGL0FFprefixL=F0..^L
70 3 68 69 syl2an2r FWalksGPL0Fk0..^FprefixLFprefixL=F0..^L
71 70 fveq1d FWalksGPL0Fk0..^FprefixLFprefixLk=F0..^Lk
72 71 fveq2d FWalksGPL0Fk0..^FprefixLiEdgGFprefixLk=iEdgGF0..^Lk
73 67 72 eqtr4d FWalksGPL0Fk0..^FprefixLiEdgGFk=iEdgGFprefixLk
74 58 73 jca FWalksGPL0Fk0..^FprefixLPk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLk
75 9 adantl FWalksGPL0FFL
76 15 fveq2d FWalksGPL0FFprefixL=L
77 75 76 eleqtrrd FWalksGPL0FFFprefixL
78 fzoss2 FFprefixL0..^FprefixL0..^F
79 77 78 syl FWalksGPL0F0..^FprefixL0..^F
80 79 sselda FWalksGPL0Fk0..^FprefixLk0..^F
81 wkslem1 x=kif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFxif-Pk=Pk+1iEdgGFk=PkPkPk+1iEdgGFk
82 81 rspcv k0..^Fx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFxif-Pk=Pk+1iEdgGFk=PkPkPk+1iEdgGFk
83 80 82 syl FWalksGPL0Fk0..^FprefixLx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFxif-Pk=Pk+1iEdgGFk=PkPkPk+1iEdgGFk
84 eqeq12 Pk=PprefixL+1kPk+1=PprefixL+1k+1Pk=Pk+1PprefixL+1k=PprefixL+1k+1
85 84 adantr Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkPk=Pk+1PprefixL+1k=PprefixL+1k+1
86 simpr Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkiEdgGFk=iEdgGFprefixLk
87 sneq Pk=PprefixL+1kPk=PprefixL+1k
88 87 adantr Pk=PprefixL+1kPk+1=PprefixL+1k+1Pk=PprefixL+1k
89 88 adantr Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkPk=PprefixL+1k
90 86 89 eqeq12d Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkiEdgGFk=PkiEdgGFprefixLk=PprefixL+1k
91 preq12 Pk=PprefixL+1kPk+1=PprefixL+1k+1PkPk+1=PprefixL+1kPprefixL+1k+1
92 91 adantr Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkPkPk+1=PprefixL+1kPprefixL+1k+1
93 92 86 sseq12d Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkPkPk+1iEdgGFkPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
94 85 90 93 ifpbi123d Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkif-Pk=Pk+1iEdgGFk=PkPkPk+1iEdgGFkif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
95 94 biimpd Pk=PprefixL+1kPk+1=PprefixL+1k+1iEdgGFk=iEdgGFprefixLkif-Pk=Pk+1iEdgGFk=PkPkPk+1iEdgGFkif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
96 74 83 95 sylsyld FWalksGPL0Fk0..^FprefixLx0..^Fif-Px=Px+1iEdgGFx=PxPxPx+1iEdgGFxif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
97 39 96 mpd FWalksGPL0Fk0..^FprefixLif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
98 97 ralrimiva FWalksGPL0Fk0..^FprefixLif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
99 wlkv FWalksGPGVFVPV
100 99 simp1d FWalksGPGV
101 100 adantr FWalksGPL0FGV
102 6 1 iswlkg GVFprefixLWalksGPprefixL+1FprefixLWorddomiEdgGPprefixL+1:0FprefixLVtxGk0..^FprefixLif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
103 101 102 syl FWalksGPL0FFprefixLWalksGPprefixL+1FprefixLWorddomiEdgGPprefixL+1:0FprefixLVtxGk0..^FprefixLif-PprefixL+1k=PprefixL+1k+1iEdgGFprefixLk=PprefixL+1kPprefixL+1kPprefixL+1k+1iEdgGFprefixLk
104 5 35 98 103 mpbir3and FWalksGPL0FFprefixLWalksGPprefixL+1