Metamath Proof Explorer


Theorem 2spthd

Description: A simple path of length 2 from one vertex to another, different vertex via a third vertex. (Contributed by Alexander van der Vekens, 1-Feb-2018) (Revised by AV, 24-Jan-2021) (Revised by AV, 24-Mar-2021) (Proof shortened by AV, 30-Oct-2021)

Ref Expression
Hypotheses 2wlkd.p ⊢ 𝑃 = ⟨“ 𝐴 𝐵 𝐶 ”⟩
2wlkd.f ⊢ 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
2wlkd.s ⊢ ( 𝜑 → ( 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑉 ) )
2wlkd.n ⊢ ( 𝜑 → ( 𝐴 ≠ 𝐵 ∧ 𝐵 ≠ 𝐶 ) )
2wlkd.e ⊢ ( 𝜑 → ( { 𝐴 , 𝐵 } ⊆ ( 𝐼 ‘ 𝐽 ) ∧ { 𝐵 , 𝐶 } ⊆ ( 𝐼 ‘ 𝐾 ) ) )
2wlkd.v ⊢ 𝑉 = ( Vtx ‘ 𝐺 )
2wlkd.i ⊢ 𝐼 = ( iEdg ‘ 𝐺 )
2trld.n ⊢ ( 𝜑 → 𝐽 ≠ 𝐾 )
2spthd.n ⊢ ( 𝜑 → 𝐴 ≠ 𝐶 )
Assertion 2spthd ( 𝜑 → 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 )

Proof

Step Hyp Ref Expression
1 2wlkd.p ⊢ 𝑃 = ⟨“ 𝐴 𝐵 𝐶 ”⟩
2 2wlkd.f ⊢ 𝐹 = ⟨“ 𝐽 𝐾 ”⟩
3 2wlkd.s ⊢ ( 𝜑 → ( 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑉 ) )
4 2wlkd.n ⊢ ( 𝜑 → ( 𝐴 ≠ 𝐵 ∧ 𝐵 ≠ 𝐶 ) )
5 2wlkd.e ⊢ ( 𝜑 → ( { 𝐴 , 𝐵 } ⊆ ( 𝐼 ‘ 𝐽 ) ∧ { 𝐵 , 𝐶 } ⊆ ( 𝐼 ‘ 𝐾 ) ) )
6 2wlkd.v ⊢ 𝑉 = ( Vtx ‘ 𝐺 )
7 2wlkd.i ⊢ 𝐼 = ( iEdg ‘ 𝐺 )
8 2trld.n ⊢ ( 𝜑 → 𝐽 ≠ 𝐾 )
9 2spthd.n ⊢ ( 𝜑 → 𝐴 ≠ 𝐶 )
10 1 2 3 4 5 6 7 8 2trld ⊢ ( 𝜑 → 𝐹 ( Trails ‘ 𝐺 ) 𝑃 )
11 3anan32 ⊢ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐵 ≠ 𝐶 ) ↔ ( ( 𝐴 ≠ 𝐵 ∧ 𝐵 ≠ 𝐶 ) ∧ 𝐴 ≠ 𝐶 ) )
12 4 9 11 sylanbrc ⊢ ( 𝜑 → ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐵 ≠ 𝐶 ) )
13 funcnvs3 ⊢ ( ( ( 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑉 ) ∧ ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐵 ≠ 𝐶 ) ) → Fun ◡ ⟨“ 𝐴 𝐵 𝐶 ”⟩ )
14 3 12 13 syl2anc ⊢ ( 𝜑 → Fun ◡ ⟨“ 𝐴 𝐵 𝐶 ”⟩ )
15 1 a1i ⊢ ( 𝜑 → 𝑃 = ⟨“ 𝐴 𝐵 𝐶 ”⟩ )
16 15 cnveqd ⊢ ( 𝜑 → ◡ 𝑃 = ◡ ⟨“ 𝐴 𝐵 𝐶 ”⟩ )
17 16 funeqd ⊢ ( 𝜑 → ( Fun ◡ 𝑃 ↔ Fun ◡ ⟨“ 𝐴 𝐵 𝐶 ”⟩ ) )
18 14 17 mpbird ⊢ ( 𝜑 → Fun ◡ 𝑃 )
19 isspth ⊢ ( 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 ↔ ( 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ∧ Fun ◡ 𝑃 ) )
20 10 18 19 sylanbrc ⊢ ( 𝜑 → 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 )