Metamath Proof Explorer


Theorem umgr2cycllem

Description: Lemma for umgr2cycl . (Contributed by BTernaryTau, 17-Oct-2023)

Ref Expression
Hypotheses umgr2cycllem.1 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
umgr2cycllem.2 𝐼 = ( iEdg ‘ 𝐺 )
umgr2cycllem.3 ( 𝜑𝐺 ∈ UMGraph )
umgr2cycllem.4 ( 𝜑𝐽 ∈ dom 𝐼 )
umgr2cycllem.5 ( 𝜑𝐽𝐾 )
umgr2cycllem.6 ( 𝜑 → ( 𝐼𝐽 ) = ( 𝐼𝐾 ) )
Assertion umgr2cycllem ( 𝜑 → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )

Proof

Step Hyp Ref Expression
1 umgr2cycllem.1 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
2 umgr2cycllem.2 𝐼 = ( iEdg ‘ 𝐺 )
3 umgr2cycllem.3 ( 𝜑𝐺 ∈ UMGraph )
4 umgr2cycllem.4 ( 𝜑𝐽 ∈ dom 𝐼 )
5 umgr2cycllem.5 ( 𝜑𝐽𝐾 )
6 umgr2cycllem.6 ( 𝜑 → ( 𝐼𝐽 ) = ( 𝐼𝐾 ) )
7 umgruhgr ( 𝐺 ∈ UMGraph → 𝐺 ∈ UHGraph )
8 2 uhgrfun ( 𝐺 ∈ UHGraph → Fun 𝐼 )
9 3 7 8 3syl ( 𝜑 → Fun 𝐼 )
10 2 iedgedg ( ( Fun 𝐼𝐽 ∈ dom 𝐼 ) → ( 𝐼𝐽 ) ∈ ( Edg ‘ 𝐺 ) )
11 9 4 10 syl2anc ( 𝜑 → ( 𝐼𝐽 ) ∈ ( Edg ‘ 𝐺 ) )
12 eqid ( Vtx ‘ 𝐺 ) = ( Vtx ‘ 𝐺 )
13 eqid ( Edg ‘ 𝐺 ) = ( Edg ‘ 𝐺 )
14 12 13 umgredg ( ( 𝐺 ∈ UMGraph ∧ ( 𝐼𝐽 ) ∈ ( Edg ‘ 𝐺 ) ) → ∃ 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) )
15 3 11 14 syl2anc ( 𝜑 → ∃ 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) )
16 ax-5 ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ∀ 𝑏 𝑎 ∈ ( Vtx ‘ 𝐺 ) )
17 alral ( ∀ 𝑏 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ∀ 𝑏 ∈ ( Vtx ‘ 𝐺 ) 𝑎 ∈ ( Vtx ‘ 𝐺 ) )
18 16 17 syl ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ∀ 𝑏 ∈ ( Vtx ‘ 𝐺 ) 𝑎 ∈ ( Vtx ‘ 𝐺 ) )
19 r19.29 ( ( ∀ 𝑏 ∈ ( Vtx ‘ 𝐺 ) 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) )
20 18 19 sylan ( ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) )
21 eqid ⟨“ 𝑎 𝑏 𝑎 ”⟩ = ⟨“ 𝑎 𝑏 𝑎 ”⟩
22 simp2l ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝑎 ∈ ( Vtx ‘ 𝐺 ) )
23 simp2r ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝑏 ∈ ( Vtx ‘ 𝐺 ) )
24 22 23 22 3jca ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑎 ∈ ( Vtx ‘ 𝐺 ) ) )
25 simp3l ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝑎𝑏 )
26 25 necomd ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝑏𝑎 )
27 25 26 jca ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝑎𝑏𝑏𝑎 ) )
28 simp3r ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } )
29 28 eqimsscd ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → { 𝑎 , 𝑏 } ⊆ ( 𝐼𝐽 ) )
30 6 3ad2ant1 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝐼𝐽 ) = ( 𝐼𝐾 ) )
31 30 28 eqtr3d ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝐼𝐾 ) = { 𝑎 , 𝑏 } )
32 prcom { 𝑎 , 𝑏 } = { 𝑏 , 𝑎 }
33 32 a1i ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → { 𝑎 , 𝑏 } = { 𝑏 , 𝑎 } )
34 31 33 eqtrd ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( 𝐼𝐾 ) = { 𝑏 , 𝑎 } )
35 eqimss2 ( ( 𝐼𝐾 ) = { 𝑏 , 𝑎 } → { 𝑏 , 𝑎 } ⊆ ( 𝐼𝐾 ) )
36 34 35 syl ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → { 𝑏 , 𝑎 } ⊆ ( 𝐼𝐾 ) )
37 29 36 jca ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ( { 𝑎 , 𝑏 } ⊆ ( 𝐼𝐽 ) ∧ { 𝑏 , 𝑎 } ⊆ ( 𝐼𝐾 ) ) )
38 5 3ad2ant1 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝐽𝐾 )
39 eqidd ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝑎 = 𝑎 )
40 21 1 24 27 37 12 2 38 39 2cycld ( ( 𝜑 ∧ ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ )
41 40 3expib ( 𝜑 → ( ( ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) )
42 41 exp4c ( 𝜑 → ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ( 𝑏 ∈ ( Vtx ‘ 𝐺 ) → ( ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) → 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) ) ) )
43 42 com23 ( 𝜑 → ( 𝑏 ∈ ( Vtx ‘ 𝐺 ) → ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ( ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) → 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) ) ) )
44 43 imp4a ( 𝜑 → ( 𝑏 ∈ ( Vtx ‘ 𝐺 ) → ( ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) ) )
45 s3cli ⟨“ 𝑎 𝑏 𝑎 ”⟩ ∈ Word V
46 breq2 ( 𝑝 = ⟨“ 𝑎 𝑏 𝑎 ”⟩ → ( 𝐹 ( Cycles ‘ 𝐺 ) 𝑝𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) )
47 46 rspcev ( ( ⟨“ 𝑎 𝑏 𝑎 ”⟩ ∈ Word V ∧ 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ ) → ∃ 𝑝 ∈ Word V 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )
48 45 47 mpan ( 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ → ∃ 𝑝 ∈ Word V 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )
49 rexex ( ∃ 𝑝 ∈ Word V 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )
50 48 49 syl ( 𝐹 ( Cycles ‘ 𝐺 ) ⟨“ 𝑎 𝑏 𝑎 ”⟩ → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )
51 44 50 syl8 ( 𝜑 → ( 𝑏 ∈ ( Vtx ‘ 𝐺 ) → ( ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 ) ) )
52 51 rexlimdv ( 𝜑 → ( ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 ) )
53 20 52 syl5 ( 𝜑 → ( ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∧ ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) ) → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 ) )
54 53 expd ( 𝜑 → ( 𝑎 ∈ ( Vtx ‘ 𝐺 ) → ( ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 ) ) )
55 54 rexlimdv ( 𝜑 → ( ∃ 𝑎 ∈ ( Vtx ‘ 𝐺 ) ∃ 𝑏 ∈ ( Vtx ‘ 𝐺 ) ( 𝑎𝑏 ∧ ( 𝐼𝐽 ) = { 𝑎 , 𝑏 } ) → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 ) )
56 15 55 mpd ( 𝜑 → ∃ 𝑝 𝐹 ( Cycles ‘ 𝐺 ) 𝑝 )