Metamath Proof Explorer


Theorem grtriclwlk3

Description: A triangle induces a closed walk of length 3 . (Contributed by AV, 26-Jul-2025)

Ref Expression
Hypotheses grtriclwlk3.t ( 𝜑𝑇 ∈ ( GrTriangles ‘ 𝐺 ) )
grtriclwlk3.p ( 𝜑𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 )
Assertion grtriclwlk3 ( 𝜑𝑃 ∈ ( 3 ClWWalksN 𝐺 ) )

Proof

Step Hyp Ref Expression
1 grtriclwlk3.t ( 𝜑𝑇 ∈ ( GrTriangles ‘ 𝐺 ) )
2 grtriclwlk3.p ( 𝜑𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 )
3 f1ofn ( 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇𝑃 Fn ( 0 ..^ 3 ) )
4 hashfn ( 𝑃 Fn ( 0 ..^ 3 ) → ( ♯ ‘ 𝑃 ) = ( ♯ ‘ ( 0 ..^ 3 ) ) )
5 2 3 4 3syl ( 𝜑 → ( ♯ ‘ 𝑃 ) = ( ♯ ‘ ( 0 ..^ 3 ) ) )
6 3nn0 3 ∈ ℕ0
7 hashfzo0 ( 3 ∈ ℕ0 → ( ♯ ‘ ( 0 ..^ 3 ) ) = 3 )
8 6 7 mp1i ( 𝜑 → ( ♯ ‘ ( 0 ..^ 3 ) ) = 3 )
9 5 8 eqtrd ( 𝜑 → ( ♯ ‘ 𝑃 ) = 3 )
10 f1of ( 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇 )
11 2 10 syl ( 𝜑𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇 )
12 eqid ( Vtx ‘ 𝐺 ) = ( Vtx ‘ 𝐺 )
13 12 grtrissvtx ( 𝑇 ∈ ( GrTriangles ‘ 𝐺 ) → 𝑇 ⊆ ( Vtx ‘ 𝐺 ) )
14 1 13 syl ( 𝜑𝑇 ⊆ ( Vtx ‘ 𝐺 ) )
15 11 14 jca ( 𝜑 → ( 𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇𝑇 ⊆ ( Vtx ‘ 𝐺 ) ) )
16 15 adantr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇𝑇 ⊆ ( Vtx ‘ 𝐺 ) ) )
17 fss ( ( 𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇𝑇 ⊆ ( Vtx ‘ 𝐺 ) ) → 𝑃 : ( 0 ..^ 3 ) ⟶ ( Vtx ‘ 𝐺 ) )
18 iswrdi ( 𝑃 : ( 0 ..^ 3 ) ⟶ ( Vtx ‘ 𝐺 ) → 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) )
19 16 17 18 3syl ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) )
20 oveq1 ( ( ♯ ‘ 𝑃 ) = 3 → ( ( ♯ ‘ 𝑃 ) − 1 ) = ( 3 − 1 ) )
21 3m1e2 ( 3 − 1 ) = 2
22 20 21 eqtrdi ( ( ♯ ‘ 𝑃 ) = 3 → ( ( ♯ ‘ 𝑃 ) − 1 ) = 2 )
23 22 oveq2d ( ( ♯ ‘ 𝑃 ) = 3 → ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) = ( 0 ..^ 2 ) )
24 fzo0to2pr ( 0 ..^ 2 ) = { 0 , 1 }
25 23 24 eqtrdi ( ( ♯ ‘ 𝑃 ) = 3 → ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) = { 0 , 1 } )
26 25 eleq2d ( ( ♯ ‘ 𝑃 ) = 3 → ( 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) ↔ 𝑖 ∈ { 0 , 1 } ) )
27 26 adantl ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) ↔ 𝑖 ∈ { 0 , 1 } ) )
28 1 2 jca ( 𝜑 → ( 𝑇 ∈ ( GrTriangles ‘ 𝐺 ) ∧ 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 ) )
29 eqid ( Edg ‘ 𝐺 ) = ( Edg ‘ 𝐺 )
30 12 29 grtrif1o ( ( 𝑇 ∈ ( GrTriangles ‘ 𝐺 ) ∧ 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 ) → ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ) )
31 simp1 ( ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ) → { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) )
32 28 30 31 3syl ( 𝜑 → { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) )
33 32 adantr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) )
34 fveq2 ( 𝑖 = 0 → ( 𝑃𝑖 ) = ( 𝑃 ‘ 0 ) )
35 fv0p1e1 ( 𝑖 = 0 → ( 𝑃 ‘ ( 𝑖 + 1 ) ) = ( 𝑃 ‘ 1 ) )
36 34 35 preq12d ( 𝑖 = 0 → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } = { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } )
37 36 eleq1d ( 𝑖 = 0 → ( { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ↔ { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) ) )
38 33 37 imbitrrid ( 𝑖 = 0 → ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ) )
39 simp3 ( ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ) → { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) )
40 28 30 39 3syl ( 𝜑 → { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) )
41 40 adantr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) )
42 fveq2 ( 𝑖 = 1 → ( 𝑃𝑖 ) = ( 𝑃 ‘ 1 ) )
43 oveq1 ( 𝑖 = 1 → ( 𝑖 + 1 ) = ( 1 + 1 ) )
44 1p1e2 ( 1 + 1 ) = 2
45 43 44 eqtrdi ( 𝑖 = 1 → ( 𝑖 + 1 ) = 2 )
46 45 fveq2d ( 𝑖 = 1 → ( 𝑃 ‘ ( 𝑖 + 1 ) ) = ( 𝑃 ‘ 2 ) )
47 42 46 preq12d ( 𝑖 = 1 → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } = { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } )
48 47 eleq1d ( 𝑖 = 1 → ( { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ↔ { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ) )
49 41 48 imbitrrid ( 𝑖 = 1 → ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ) )
50 38 49 jaoi ( ( 𝑖 = 0 ∨ 𝑖 = 1 ) → ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ) )
51 elpri ( 𝑖 ∈ { 0 , 1 } → ( 𝑖 = 0 ∨ 𝑖 = 1 ) )
52 50 51 syl11 ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑖 ∈ { 0 , 1 } → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ) )
53 27 52 sylbid ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) → { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ) )
54 53 ralrimiv ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) )
55 ovexd ( 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 → ( 0 ..^ 3 ) ∈ V )
56 10 55 jca ( 𝑃 : ( 0 ..^ 3 ) –1-1-onto𝑇 → ( 𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇 ∧ ( 0 ..^ 3 ) ∈ V ) )
57 fex ( ( 𝑃 : ( 0 ..^ 3 ) ⟶ 𝑇 ∧ ( 0 ..^ 3 ) ∈ V ) → 𝑃 ∈ V )
58 2 56 57 3syl ( 𝜑𝑃 ∈ V )
59 58 adantr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → 𝑃 ∈ V )
60 lsw ( 𝑃 ∈ V → ( lastS ‘ 𝑃 ) = ( 𝑃 ‘ ( ( ♯ ‘ 𝑃 ) − 1 ) ) )
61 59 60 syl ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( lastS ‘ 𝑃 ) = ( 𝑃 ‘ ( ( ♯ ‘ 𝑃 ) − 1 ) ) )
62 22 fveq2d ( ( ♯ ‘ 𝑃 ) = 3 → ( 𝑃 ‘ ( ( ♯ ‘ 𝑃 ) − 1 ) ) = ( 𝑃 ‘ 2 ) )
63 62 adantl ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑃 ‘ ( ( ♯ ‘ 𝑃 ) − 1 ) ) = ( 𝑃 ‘ 2 ) )
64 61 63 eqtrd ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( lastS ‘ 𝑃 ) = ( 𝑃 ‘ 2 ) )
65 64 preq1d ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } = { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } )
66 prcom { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } = { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) }
67 66 eleq1i ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ↔ { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
68 67 biimpi ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) → { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
69 68 3ad2ant2 ( ( { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 1 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 0 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( 𝑃 ‘ 1 ) , ( 𝑃 ‘ 2 ) } ∈ ( Edg ‘ 𝐺 ) ) → { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
70 28 30 69 3syl ( 𝜑 → { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
71 70 adantr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( 𝑃 ‘ 2 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
72 65 71 eqeltrd ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) )
73 19 54 72 3jca ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) ) )
74 simpr ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( ♯ ‘ 𝑃 ) = 3 )
75 73 74 jca ( ( 𝜑 ∧ ( ♯ ‘ 𝑃 ) = 3 ) → ( ( 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) ) ∧ ( ♯ ‘ 𝑃 ) = 3 ) )
76 9 75 mpdan ( 𝜑 → ( ( 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) ) ∧ ( ♯ ‘ 𝑃 ) = 3 ) )
77 3nn 3 ∈ ℕ
78 12 29 isclwwlknx ( 3 ∈ ℕ → ( 𝑃 ∈ ( 3 ClWWalksN 𝐺 ) ↔ ( ( 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) ) ∧ ( ♯ ‘ 𝑃 ) = 3 ) ) )
79 77 78 mp1i ( 𝜑 → ( 𝑃 ∈ ( 3 ClWWalksN 𝐺 ) ↔ ( ( 𝑃 ∈ Word ( Vtx ‘ 𝐺 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ ( ( ♯ ‘ 𝑃 ) − 1 ) ) { ( 𝑃𝑖 ) , ( 𝑃 ‘ ( 𝑖 + 1 ) ) } ∈ ( Edg ‘ 𝐺 ) ∧ { ( lastS ‘ 𝑃 ) , ( 𝑃 ‘ 0 ) } ∈ ( Edg ‘ 𝐺 ) ) ∧ ( ♯ ‘ 𝑃 ) = 3 ) ) )
80 76 79 mpbird ( 𝜑𝑃 ∈ ( 3 ClWWalksN 𝐺 ) )