Metamath Proof Explorer


Theorem numclwwlk1lem2f1

Description: T is a 1-1 function. (Contributed by AV, 26-Sep-2018) (Revised by AV, 29-May-2021) (Proof shortened by AV, 23-Feb-2022) (Revised by AV, 31-Oct-2022)

Ref Expression
Hypotheses extwwlkfab.v V=VtxG
extwwlkfab.c C=vV,n2wvClWWalksNOnGn|wn2=v
extwwlkfab.f F=XClWWalksNOnGN2
numclwwlk.t T=uXCNuprefixN2uN1
Assertion numclwwlk1lem2f1 GUSGraphXVN3T:XCN1-1F×GNeighbVtxX

Proof

Step Hyp Ref Expression
1 extwwlkfab.v V=VtxG
2 extwwlkfab.c C=vV,n2wvClWWalksNOnGn|wn2=v
3 extwwlkfab.f F=XClWWalksNOnGN2
4 numclwwlk.t T=uXCNuprefixN2uN1
5 1 2 3 4 numclwwlk1lem2f GUSGraphXVN3T:XCNF×GNeighbVtxX
6 1 2 3 4 numclwwlk1lem2fv pXCNTp=pprefixN2pN1
7 6 ad2antrl GUSGraphXVN3pXCNaXCNTp=pprefixN2pN1
8 1 2 3 4 numclwwlk1lem2fv aXCNTa=aprefixN2aN1
9 8 ad2antll GUSGraphXVN3pXCNaXCNTa=aprefixN2aN1
10 7 9 eqeq12d GUSGraphXVN3pXCNaXCNTp=TapprefixN2pN1=aprefixN2aN1
11 ovex pprefixN2V
12 fvex pN1V
13 11 12 opth pprefixN2pN1=aprefixN2aN1pprefixN2=aprefixN2pN1=aN1
14 uzuzle23 N3N2
15 2 2clwwlkel XVN2pXCNpXClWWalksNOnGNpN2=X
16 isclwwlknon pXClWWalksNOnGNpNClWWalksNGp0=X
17 16 anbi1i pXClWWalksNOnGNpN2=XpNClWWalksNGp0=XpN2=X
18 15 17 bitrdi XVN2pXCNpNClWWalksNGp0=XpN2=X
19 2 2clwwlkel XVN2aXCNaXClWWalksNOnGNaN2=X
20 isclwwlknon aXClWWalksNOnGNaNClWWalksNGa0=X
21 20 anbi1i aXClWWalksNOnGNaN2=XaNClWWalksNGa0=XaN2=X
22 19 21 bitrdi XVN2aXCNaNClWWalksNGa0=XaN2=X
23 18 22 anbi12d XVN2pXCNaXCNpNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=X
24 14 23 sylan2 XVN3pXCNaXCNpNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=X
25 24 3adant1 GUSGraphXVN3pXCNaXCNpNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=X
26 1 clwwlknbp pNClWWalksNGpWordVp=N
27 26 adantr pNClWWalksNGp0=XpWordVp=N
28 27 adantr pNClWWalksNGp0=XpN2=XpWordVp=N
29 simpr pNClWWalksNGp0=Xp0=X
30 29 adantr pNClWWalksNGp0=XpN2=Xp0=X
31 simpr pNClWWalksNGp0=XpN2=XpN2=X
32 29 eqcomd pNClWWalksNGp0=XX=p0
33 32 adantr pNClWWalksNGp0=XpN2=XX=p0
34 31 33 eqtrd pNClWWalksNGp0=XpN2=XpN2=p0
35 28 30 34 jca32 pNClWWalksNGp0=XpN2=XpWordVp=Np0=XpN2=p0
36 1 clwwlknbp aNClWWalksNGaWordVa=N
37 36 adantr aNClWWalksNGa0=XaWordVa=N
38 37 adantr aNClWWalksNGa0=XaN2=XaWordVa=N
39 simpr aNClWWalksNGa0=Xa0=X
40 39 adantr aNClWWalksNGa0=XaN2=Xa0=X
41 simpr aNClWWalksNGa0=XaN2=XaN2=X
42 39 eqcomd aNClWWalksNGa0=XX=a0
43 42 adantr aNClWWalksNGa0=XaN2=XX=a0
44 41 43 eqtrd aNClWWalksNGa0=XaN2=XaN2=a0
45 38 40 44 jca32 aNClWWalksNGa0=XaN2=XaWordVa=Na0=XaN2=a0
46 eqtr3 p=Na=Np=a
47 46 expcom a=Np=Np=a
48 47 ad2antlr aWordVa=Na0=XaN2=a0p=Np=a
49 48 com12 p=NaWordVa=Na0=XaN2=a0p=a
50 49 ad2antlr pWordVp=Np0=XpN2=p0aWordVa=Na0=XaN2=a0p=a
51 50 imp pWordVp=Np0=XpN2=p0aWordVa=Na0=XaN2=a0p=a
52 35 45 51 syl2an pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=Xp=a
53 52 3ad2ant2 N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1p=a
54 27 simprd pNClWWalksNGp0=Xp=N
55 54 adantr pNClWWalksNGp0=XpN2=Xp=N
56 55 eqcomd pNClWWalksNGp0=XpN2=XN=p
57 56 adantr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XN=p
58 57 oveq1d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XN2=p2
59 58 oveq2d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=pprefixp2
60 58 oveq2d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XaprefixN2=aprefixp2
61 59 60 eqeq12d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pprefixp2=aprefixp2
62 61 biimpcd pprefixN2=aprefixN2pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=Xpprefixp2=aprefixp2
63 62 adantr pprefixN2=aprefixN2pN1=aN1pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=Xpprefixp2=aprefixp2
64 63 impcom pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1pprefixp2=aprefixp2
65 55 oveq1d pNClWWalksNGp0=XpN2=Xp2=N2
66 65 fveq2d pNClWWalksNGp0=XpN2=Xpp2=pN2
67 66 31 eqtrd pNClWWalksNGp0=XpN2=Xpp2=X
68 67 adantr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=Xpp2=X
69 41 eqcomd aNClWWalksNGa0=XaN2=XX=aN2
70 69 adantl pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XX=aN2
71 58 fveq2d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XaN2=ap2
72 70 71 eqtrd pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XX=ap2
73 68 72 eqtrd pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=Xpp2=ap2
74 73 adantr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1pp2=ap2
75 lsw pWordVlastSp=pp1
76 fvoveq1 p=Npp1=pN1
77 75 76 sylan9eq pWordVp=NlastSp=pN1
78 26 77 syl pNClWWalksNGlastSp=pN1
79 78 eqcomd pNClWWalksNGpN1=lastSp
80 79 ad3antrrr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpN1=lastSp
81 lsw aWordVlastSa=aa1
82 81 adantr aWordVa=NlastSa=aa1
83 oveq1 N=aN1=a1
84 83 eqcoms a=NN1=a1
85 84 fveq2d a=NaN1=aa1
86 85 eqeq2d a=NlastSa=aN1lastSa=aa1
87 86 adantl aWordVa=NlastSa=aN1lastSa=aa1
88 82 87 mpbird aWordVa=NlastSa=aN1
89 36 88 syl aNClWWalksNGlastSa=aN1
90 89 eqcomd aNClWWalksNGaN1=lastSa
91 90 adantr aNClWWalksNGa0=XaN1=lastSa
92 91 ad2antrl pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XaN1=lastSa
93 80 92 eqeq12d pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpN1=aN1lastSp=lastSa
94 93 biimpd pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpN1=aN1lastSp=lastSa
95 94 adantld pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1lastSp=lastSa
96 95 imp pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1lastSp=lastSa
97 64 74 96 3jca pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1pprefixp2=aprefixp2pp2=ap2lastSp=lastSa
98 97 3adant1 N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1pprefixp2=aprefixp2pp2=ap2lastSp=lastSa
99 1 clwwlknwrd pNClWWalksNGpWordV
100 99 ad3antrrr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpWordV
101 100 3ad2ant2 N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1pWordV
102 1 clwwlknwrd aNClWWalksNGaWordV
103 102 adantr aNClWWalksNGa0=XaWordV
104 103 ad2antrl pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XaWordV
105 104 3ad2ant2 N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1aWordV
106 clwwlknlen pNClWWalksNGp=N
107 eluz2b1 N2N1<N
108 breq2 N=p1<N1<p
109 108 eqcoms p=N1<N1<p
110 109 biimpcd 1<Np=N1<p
111 107 110 simplbiim N2p=N1<p
112 14 106 111 syl2imc pNClWWalksNGN31<p
113 112 ad3antrrr pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XN31<p
114 113 impcom N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=X1<p
115 114 3adant3 N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN11<p
116 2swrd2eqwrdeq pWordVaWordV1<pp=ap=apprefixp2=aprefixp2pp2=ap2lastSp=lastSa
117 101 105 115 116 syl3anc N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1p=ap=apprefixp2=aprefixp2pp2=ap2lastSp=lastSa
118 53 98 117 mpbir2and N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1p=a
119 118 3exp N3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1p=a
120 119 3ad2ant3 GUSGraphXVN3pNClWWalksNGp0=XpN2=XaNClWWalksNGa0=XaN2=XpprefixN2=aprefixN2pN1=aN1p=a
121 25 120 sylbid GUSGraphXVN3pXCNaXCNpprefixN2=aprefixN2pN1=aN1p=a
122 121 imp GUSGraphXVN3pXCNaXCNpprefixN2=aprefixN2pN1=aN1p=a
123 13 122 biimtrid GUSGraphXVN3pXCNaXCNpprefixN2pN1=aprefixN2aN1p=a
124 10 123 sylbid GUSGraphXVN3pXCNaXCNTp=Tap=a
125 124 ralrimivva GUSGraphXVN3pXCNaXCNTp=Tap=a
126 dff13 T:XCN1-1F×GNeighbVtxXT:XCNF×GNeighbVtxXpXCNaXCNTp=Tap=a
127 5 125 126 sylanbrc GUSGraphXVN3T:XCN1-1F×GNeighbVtxX