Metamath Proof Explorer


Theorem numclwlk2lem2f

Description: R is a function mapping the "closed (n+2)-walks v(0) ... v(n-2) v(n-1) v(n) v(n+1) v(n+2) starting at X = v(0) = v(n+2) with v(n) =/= X" to the words representing the prefix v(0) ... v(n-2) v(n-1) v(n) of the walk. (Contributed by Alexander van der Vekens, 5-Oct-2018) (Revised by AV, 31-May-2021) (Proof shortened by AV, 23-Mar-2022) (Revised by AV, 1-Nov-2022)

Ref Expression
Hypotheses numclwwlk.v V=VtxG
numclwwlk.q Q=vV,nwnWWalksNG|w0=vlastSwv
numclwwlk.h H=vV,n2wvClWWalksNOnGn|wn2v
numclwwlk.r R=xXHN+2xprefixN+1
Assertion numclwlk2lem2f GFriendGraphXVNR:XHN+2XQN

Proof

Step Hyp Ref Expression
1 numclwwlk.v V=VtxG
2 numclwwlk.q Q=vV,nwnWWalksNG|w0=vlastSwv
3 numclwwlk.h H=vV,n2wvClWWalksNOnGn|wn2v
4 numclwwlk.r R=xXHN+2xprefixN+1
5 nnnn0 NN0
6 2z 2
7 6 a1i N2
8 nn0pzuz N02N+22
9 5 7 8 syl2anc NN+22
10 9 anim2i XVNXVN+22
11 10 3adant1 GFriendGraphXVNXVN+22
12 3 numclwwlkovh XVN+22XHN+2=wN+2ClWWalksNG|w0=XwN+2-2w0
13 12 eleq2d XVN+22xXHN+2xwN+2ClWWalksNG|w0=XwN+2-2w0
14 11 13 syl GFriendGraphXVNxXHN+2xwN+2ClWWalksNG|w0=XwN+2-2w0
15 fveq1 w=xw0=x0
16 15 eqeq1d w=xw0=Xx0=X
17 fveq1 w=xwN+2-2=xN+2-2
18 17 15 neeq12d w=xwN+2-2w0xN+2-2x0
19 16 18 anbi12d w=xw0=XwN+2-2w0x0=XxN+2-2x0
20 19 elrab xwN+2ClWWalksNG|w0=XwN+2-2w0xN+2ClWWalksNGx0=XxN+2-2x0
21 14 20 bitrdi GFriendGraphXVNxXHN+2xN+2ClWWalksNGx0=XxN+2-2x0
22 peano2nn NN+1
23 nnz NN
24 23 7 zaddcld NN+2
25 uzid N+2N+2N+2
26 24 25 syl NN+2N+2
27 nncn NN
28 1cnd N1
29 27 28 28 addassd NN+1+1=N+1+1
30 1p1e2 1+1=2
31 30 a1i N1+1=2
32 31 oveq2d NN+1+1=N+2
33 29 32 eqtrd NN+1+1=N+2
34 33 fveq2d NN+1+1=N+2
35 26 34 eleqtrrd NN+2N+1+1
36 22 35 jca NN+1N+2N+1+1
37 36 3ad2ant3 GFriendGraphXVNN+1N+2N+1+1
38 37 adantr GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0N+1N+2N+1+1
39 simprl GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xN+2ClWWalksNG
40 wwlksubclwwlk N+1N+2N+1+1xN+2ClWWalksNGxprefixN+1N+1-1WWalksNG
41 38 39 40 sylc GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+1N+1-1WWalksNG
42 pncan1 NN+1-1=N
43 42 eqcomd NN=N+1-1
44 27 43 syl NN=N+1-1
45 44 oveq1d NNWWalksNG=N+1-1WWalksNG
46 45 eleq2d NxprefixN+1NWWalksNGxprefixN+1N+1-1WWalksNG
47 46 3ad2ant3 GFriendGraphXVNxprefixN+1NWWalksNGxprefixN+1N+1-1WWalksNG
48 47 adantr GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+1NWWalksNGxprefixN+1N+1-1WWalksNG
49 41 48 mpbird GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+1NWWalksNG
50 1 clwwlknbp xN+2ClWWalksNGxWordVx=N+2
51 simprl x=N+2xWordVXVNx0=XxN+2-2x0x0=X
52 simprr Nx=N+2xWordVxWordV
53 peano2nn0 N0N+10
54 5 53 syl NN+10
55 nnre NN
56 55 lep1d NNN+1
57 elfz2nn0 N0N+1N0N+10NN+1
58 5 54 56 57 syl3anbrc NN0N+1
59 2cnd N2
60 addsubass N21N+2-1=N+2-1
61 2m1e1 21=1
62 61 oveq2i N+2-1=N+1
63 60 62 eqtrdi N21N+2-1=N+1
64 27 59 28 63 syl3anc NN+2-1=N+1
65 64 oveq2d N0N+2-1=0N+1
66 58 65 eleqtrrd NN0N+2-1
67 elfzp1b NN+2N0N+2-1N+11N+2
68 23 24 67 syl2anc NN0N+2-1N+11N+2
69 66 68 mpbid NN+11N+2
70 69 adantr Nx=N+2xWordVN+11N+2
71 oveq2 x=N+21x=1N+2
72 71 eleq2d x=N+2N+11xN+11N+2
73 72 ad2antrl Nx=N+2xWordVN+11xN+11N+2
74 70 73 mpbird Nx=N+2xWordVN+11x
75 pfxfv0 xWordVN+11xxprefixN+10=x0
76 52 74 75 syl2anc Nx=N+2xWordVxprefixN+10=x0
77 76 ex Nx=N+2xWordVxprefixN+10=x0
78 77 adantl XVNx=N+2xWordVxprefixN+10=x0
79 78 impcom x=N+2xWordVXVNxprefixN+10=x0
80 79 ad2antrl x0=Xx=N+2xWordVXVNx0=XxN+2-2x0xprefixN+10=x0
81 simpl x0=Xx=N+2xWordVXVNx0=XxN+2-2x0x0=X
82 80 81 eqtrd x0=Xx=N+2xWordVXVNx0=XxN+2-2x0xprefixN+10=X
83 pfxfvlsw xWordVN+11xlastSxprefixN+1=xN+1-1
84 52 74 83 syl2anc Nx=N+2xWordVlastSxprefixN+1=xN+1-1
85 27 42 syl NN+1-1=N
86 27 59 pncand NN+2-2=N
87 85 86 eqtr4d NN+1-1=N+2-2
88 87 fveq2d NxN+1-1=xN+2-2
89 88 adantr Nx=N+2xWordVxN+1-1=xN+2-2
90 84 89 eqtr2d Nx=N+2xWordVxN+2-2=lastSxprefixN+1
91 90 ex Nx=N+2xWordVxN+2-2=lastSxprefixN+1
92 91 adantl XVNx=N+2xWordVxN+2-2=lastSxprefixN+1
93 92 impcom x=N+2xWordVXVNxN+2-2=lastSxprefixN+1
94 93 neeq1d x=N+2xWordVXVNxN+2-2x0lastSxprefixN+1x0
95 94 biimpcd xN+2-2x0x=N+2xWordVXVNlastSxprefixN+1x0
96 95 adantl x0=XxN+2-2x0x=N+2xWordVXVNlastSxprefixN+1x0
97 96 impcom x=N+2xWordVXVNx0=XxN+2-2x0lastSxprefixN+1x0
98 97 adantl x0=Xx=N+2xWordVXVNx0=XxN+2-2x0lastSxprefixN+1x0
99 neeq2 X=x0lastSxprefixN+1XlastSxprefixN+1x0
100 99 eqcoms x0=XlastSxprefixN+1XlastSxprefixN+1x0
101 100 adantr x0=Xx=N+2xWordVXVNx0=XxN+2-2x0lastSxprefixN+1XlastSxprefixN+1x0
102 98 101 mpbird x0=Xx=N+2xWordVXVNx0=XxN+2-2x0lastSxprefixN+1X
103 82 102 jca x0=Xx=N+2xWordVXVNx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
104 51 103 mpancom x=N+2xWordVXVNx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
105 104 exp31 x=N+2xWordVXVNx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
106 105 com23 x=N+2xWordVx0=XxN+2-2x0XVNxprefixN+10=XlastSxprefixN+1X
107 106 ancoms xWordVx=N+2x0=XxN+2-2x0XVNxprefixN+10=XlastSxprefixN+1X
108 50 107 syl xN+2ClWWalksNGx0=XxN+2-2x0XVNxprefixN+10=XlastSxprefixN+1X
109 108 imp xN+2ClWWalksNGx0=XxN+2-2x0XVNxprefixN+10=XlastSxprefixN+1X
110 109 com12 XVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
111 110 3adant1 GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
112 111 imp GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+10=XlastSxprefixN+1X
113 49 112 jca GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
114 113 ex GFriendGraphXVNxN+2ClWWalksNGx0=XxN+2-2x0xprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
115 21 114 sylbid GFriendGraphXVNxXHN+2xprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
116 115 imp GFriendGraphXVNxXHN+2xprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
117 3simpc GFriendGraphXVNXVN
118 117 adantr GFriendGraphXVNxXHN+2XVN
119 1 2 numclwwlkovq XVNXQN=wNWWalksNG|w0=XlastSwX
120 118 119 syl GFriendGraphXVNxXHN+2XQN=wNWWalksNG|w0=XlastSwX
121 120 eleq2d GFriendGraphXVNxXHN+2xprefixN+1XQNxprefixN+1wNWWalksNG|w0=XlastSwX
122 fveq1 w=xprefixN+1w0=xprefixN+10
123 122 eqeq1d w=xprefixN+1w0=XxprefixN+10=X
124 fveq2 w=xprefixN+1lastSw=lastSxprefixN+1
125 124 neeq1d w=xprefixN+1lastSwXlastSxprefixN+1X
126 123 125 anbi12d w=xprefixN+1w0=XlastSwXxprefixN+10=XlastSxprefixN+1X
127 126 elrab xprefixN+1wNWWalksNG|w0=XlastSwXxprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
128 121 127 bitrdi GFriendGraphXVNxXHN+2xprefixN+1XQNxprefixN+1NWWalksNGxprefixN+10=XlastSxprefixN+1X
129 116 128 mpbird GFriendGraphXVNxXHN+2xprefixN+1XQN
130 129 4 fmptd GFriendGraphXVNR:XHN+2XQN