Metamath Proof Explorer


Theorem usgr2pth

Description: In a simple graph, there is a path of length 2 iff there are three distinct vertices so that one of them is connected to each of the two others by an edge. (Contributed by Alexander van der Vekens, 27-Jan-2018) (Revised by AV, 5-Jun-2021) (Proof shortened by AV, 31-Oct-2021)

Ref Expression
Hypotheses usgr2pthlem.v V=VtxG
usgr2pthlem.i I=iEdgG
Assertion usgr2pth GUSGraphFPathsGPF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz

Proof

Step Hyp Ref Expression
1 usgr2pthlem.v V=VtxG
2 usgr2pthlem.i I=iEdgG
3 usgr2pthspth GUSGraphF=2FPathsGPFSPathsGP
4 usgrupgr GUSGraphGUPGraph
5 4 adantr GUSGraphF=2GUPGraph
6 isspth FSPathsGPFTrailsGPFunP-1
7 6 a1i GUPGraphFSPathsGPFTrailsGPFunP-1
8 1 2 upgrf1istrl GUPGraphFTrailsGPF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1
9 8 anbi1d GUPGraphFTrailsGPFunP-1F:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1
10 oveq2 F=20..^F=0..^2
11 f1eq2 0..^F=0..^2F:0..^F1-1domIF:0..^21-1domI
12 10 11 syl F=2F:0..^F1-1domIF:0..^21-1domI
13 12 biimpd F=2F:0..^F1-1domIF:0..^21-1domI
14 13 adantl GUSGraphF=2F:0..^F1-1domIF:0..^21-1domI
15 14 com12 F:0..^F1-1domIGUSGraphF=2F:0..^21-1domI
16 15 3ad2ant1 F:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1GUSGraphF=2F:0..^21-1domI
17 16 ad2antrl GUPGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2F:0..^21-1domI
18 oveq2 F=20F=02
19 18 feq2d F=2P:0FVP:02V
20 df-f1 P:021-1VP:02VFunP-1
21 20 simplbi2 P:02VFunP-1P:021-1V
22 21 a1i F=2P:02VFunP-1P:021-1V
23 19 22 sylbid F=2P:0FVFunP-1P:021-1V
24 23 adantl GUSGraphF=2P:0FVFunP-1P:021-1V
25 24 com3l P:0FVFunP-1GUSGraphF=2P:021-1V
26 25 3ad2ant2 F:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2P:021-1V
27 26 imp F:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2P:021-1V
28 27 adantl GUPGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2P:021-1V
29 1 2 usgr2pthlem F:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1GUSGraphF=2xVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
30 29 ad2antrl GUPGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2xVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
31 17 28 30 3jcad GUPGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
32 31 ex GUPGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1GUSGraphF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
33 9 32 sylbid GUPGraphFTrailsGPFunP-1GUSGraphF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
34 7 33 sylbid GUPGraphFSPathsGPGUSGraphF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
35 34 com23 GUPGraphGUSGraphF=2FSPathsGPF:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
36 5 35 mpcom GUSGraphF=2FSPathsGPF:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
37 3 36 sylbid GUSGraphF=2FPathsGPF:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
38 37 ex GUSGraphF=2FPathsGPF:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
39 38 impcomd GUSGraphFPathsGPF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz
40 2nn0 20
41 f1f F:0..^21-1domIF:0..^2domI
42 fnfzo0hash 20F:0..^2domIF=2
43 40 41 42 sylancr F:0..^21-1domIF=2
44 oveq2 2=F0..^2=0..^F
45 44 eqcoms F=20..^2=0..^F
46 f1eq2 0..^2=0..^FF:0..^21-1domIF:0..^F1-1domI
47 45 46 syl F=2F:0..^21-1domIF:0..^F1-1domI
48 47 biimpd F=2F:0..^21-1domIF:0..^F1-1domI
49 48 imp F=2F:0..^21-1domIF:0..^F1-1domI
50 49 adantr F=2F:0..^21-1domIP:021-1VF:0..^F1-1domI
51 50 ad2antrr F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphF:0..^F1-1domI
52 f1f P:021-1VP:02V
53 oveq2 2=F02=0F
54 53 eqcoms F=202=0F
55 54 adantr F=2F:0..^21-1domI02=0F
56 55 feq2d F=2F:0..^21-1domIP:02VP:0FV
57 52 56 imbitrid F=2F:0..^21-1domIP:021-1VP:0FV
58 57 imp F=2F:0..^21-1domIP:021-1VP:0FV
59 58 ad2antrr F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphP:0FV
60 eqcom P0=xx=P0
61 60 biimpi P0=xx=P0
62 61 3ad2ant1 P0=xP1=yP2=zx=P0
63 eqcom P1=yy=P1
64 63 biimpi P1=yy=P1
65 64 3ad2ant2 P0=xP1=yP2=zy=P1
66 62 65 preq12d P0=xP1=yP2=zxy=P0P1
67 66 eqeq2d P0=xP1=yP2=zIF0=xyIF0=P0P1
68 67 biimpcd IF0=xyP0=xP1=yP2=zIF0=P0P1
69 68 adantr IF0=xyIF1=yzP0=xP1=yP2=zIF0=P0P1
70 69 impcom P0=xP1=yP2=zIF0=xyIF1=yzIF0=P0P1
71 eqcom P2=zz=P2
72 71 biimpi P2=zz=P2
73 72 3ad2ant3 P0=xP1=yP2=zz=P2
74 65 73 preq12d P0=xP1=yP2=zyz=P1P2
75 74 eqeq2d P0=xP1=yP2=zIF1=yzIF1=P1P2
76 75 biimpcd IF1=yzP0=xP1=yP2=zIF1=P1P2
77 76 adantl IF0=xyIF1=yzP0=xP1=yP2=zIF1=P1P2
78 77 impcom P0=xP1=yP2=zIF0=xyIF1=yzIF1=P1P2
79 70 78 jca P0=xP1=yP2=zIF0=xyIF1=yzIF0=P0P1IF1=P1P2
80 79 rexlimivw zVxyP0=xP1=yP2=zIF0=xyIF1=yzIF0=P0P1IF1=P1P2
81 80 rexlimivw yVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzIF0=P0P1IF1=P1P2
82 81 rexlimivw xVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzIF0=P0P1IF1=P1P2
83 82 a1i13 F=2xVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphIF0=P0P1IF1=P1P2
84 fzo0to2pr 0..^2=01
85 10 84 eqtrdi F=20..^F=01
86 85 raleqdv F=2i0..^FIFi=PiPi+1i01IFi=PiPi+1
87 2wlklem i01IFi=PiPi+1IF0=P0P1IF1=P1P2
88 86 87 bitrdi F=2i0..^FIFi=PiPi+1IF0=P0P1IF1=P1P2
89 88 imbi2d F=2GUSGraphi0..^FIFi=PiPi+1GUSGraphIF0=P0P1IF1=P1P2
90 83 89 sylibrd F=2xVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphi0..^FIFi=PiPi+1
91 90 ad2antrr F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphi0..^FIFi=PiPi+1
92 91 imp F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphi0..^FIFi=PiPi+1
93 92 imp F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphi0..^FIFi=PiPi+1
94 51 59 93 3jca F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1
95 20 simprbi P:021-1VFunP-1
96 95 adantl F=2F:0..^21-1domIP:021-1VFunP-1
97 96 ad2antrr F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFunP-1
98 94 97 jca F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1
99 7 9 bitrd GUPGraphFSPathsGPF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1
100 4 99 syl GUSGraphFSPathsGPF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1
101 100 adantl F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFSPathsGPF:0..^F1-1domIP:0FVi0..^FIFi=PiPi+1FunP-1
102 98 101 mpbird F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFSPathsGP
103 simpr F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphGUSGraph
104 simp-4l F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphF=2
105 103 104 3 syl2anc F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPFSPathsGP
106 102 105 mpbird F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGP
107 106 104 jca F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPF=2
108 107 ex F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPF=2
109 108 exp41 F=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPF=2
110 43 109 mpcom F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPF=2
111 110 3imp F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzGUSGraphFPathsGPF=2
112 111 com12 GUSGraphF:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yzFPathsGPF=2
113 39 112 impbid GUSGraphFPathsGPF=2F:0..^21-1domIP:021-1VxVyVxzVxyP0=xP1=yP2=zIF0=xyIF1=yz