Metamath Proof Explorer


Theorem umgr2adedgwlkon

Description: In a multigraph, two adjacent edges form a walk between two vertices. (Contributed by Alexander van der Vekens, 18-Feb-2018) (Revised by AV, 30-Jan-2021)

Ref Expression
Hypotheses umgr2adedgwlk.e 𝐸 = ( Edg ‘ 𝐺 )
umgr2adedgwlk.i 𝐼 = ( iEdg ‘ 𝐺 )
umgr2adedgwlk.f 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
umgr2adedgwlk.p 𝑃 = ⟨“ 𝐴 𝐵 𝐶 ”⟩
umgr2adedgwlk.g ( 𝜑𝐺 ∈ UMGraph )
umgr2adedgwlk.a ( 𝜑 → ( { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) )
umgr2adedgwlk.j ( 𝜑 → ( 𝐼𝐽 ) = { 𝐴 , 𝐵 } )
umgr2adedgwlk.k ( 𝜑 → ( 𝐼𝐾 ) = { 𝐵 , 𝐶 } )
Assertion umgr2adedgwlkon ( 𝜑𝐹 ( 𝐴 ( WalksOn ‘ 𝐺 ) 𝐶 ) 𝑃 )

Proof

Step Hyp Ref Expression
1 umgr2adedgwlk.e 𝐸 = ( Edg ‘ 𝐺 )
2 umgr2adedgwlk.i 𝐼 = ( iEdg ‘ 𝐺 )
3 umgr2adedgwlk.f 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
4 umgr2adedgwlk.p 𝑃 = ⟨“ 𝐴 𝐵 𝐶 ”⟩
5 umgr2adedgwlk.g ( 𝜑𝐺 ∈ UMGraph )
6 umgr2adedgwlk.a ( 𝜑 → ( { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) )
7 umgr2adedgwlk.j ( 𝜑 → ( 𝐼𝐽 ) = { 𝐴 , 𝐵 } )
8 umgr2adedgwlk.k ( 𝜑 → ( 𝐼𝐾 ) = { 𝐵 , 𝐶 } )
9 3anass ( ( 𝐺 ∈ UMGraph ∧ { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) ↔ ( 𝐺 ∈ UMGraph ∧ ( { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) ) )
10 5 6 9 sylanbrc ( 𝜑 → ( 𝐺 ∈ UMGraph ∧ { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) )
11 1 umgr2adedgwlklem ( ( 𝐺 ∈ UMGraph ∧ { 𝐴 , 𝐵 } ∈ 𝐸 ∧ { 𝐵 , 𝐶 } ∈ 𝐸 ) → ( ( 𝐴𝐵𝐵𝐶 ) ∧ ( 𝐴 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐵 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐶 ∈ ( Vtx ‘ 𝐺 ) ) ) )
12 10 11 syl ( 𝜑 → ( ( 𝐴𝐵𝐵𝐶 ) ∧ ( 𝐴 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐵 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐶 ∈ ( Vtx ‘ 𝐺 ) ) ) )
13 12 simprd ( 𝜑 → ( 𝐴 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐵 ∈ ( Vtx ‘ 𝐺 ) ∧ 𝐶 ∈ ( Vtx ‘ 𝐺 ) ) )
14 12 simpld ( 𝜑 → ( 𝐴𝐵𝐵𝐶 ) )
15 ssid { 𝐴 , 𝐵 } ⊆ { 𝐴 , 𝐵 }
16 15 7 sseqtrrid ( 𝜑 → { 𝐴 , 𝐵 } ⊆ ( 𝐼𝐽 ) )
17 ssid { 𝐵 , 𝐶 } ⊆ { 𝐵 , 𝐶 }
18 17 8 sseqtrrid ( 𝜑 → { 𝐵 , 𝐶 } ⊆ ( 𝐼𝐾 ) )
19 16 18 jca ( 𝜑 → ( { 𝐴 , 𝐵 } ⊆ ( 𝐼𝐽 ) ∧ { 𝐵 , 𝐶 } ⊆ ( 𝐼𝐾 ) ) )
20 eqid ( Vtx ‘ 𝐺 ) = ( Vtx ‘ 𝐺 )
21 4 3 13 14 19 20 2 2wlkond ( 𝜑𝐹 ( 𝐴 ( WalksOn ‘ 𝐺 ) 𝐶 ) 𝑃 )