Metamath Proof Explorer


Theorem 3spthd

Description: A simple path of length 3 from one vertex to another, different vertex via a third vertex. (Contributed by AV, 10-Feb-2021) (Revised by AV, 24-Mar-2021) (Proof shortened by AV, 30-Oct-2021)

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

Proof

Step Hyp Ref Expression
1 3wlkd.p ⊢ 𝑃 = ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩
2 3wlkd.f ⊢ 𝐹 = ⟨“ 𝐽 𝐾 𝐿 ”⟩
3 3wlkd.s ⊢ ( 𝜑 → ( ( 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉 ) ∧ ( 𝐶 ∈ 𝑉 ∧ 𝐷 ∈ 𝑉 ) ) )
4 3wlkd.n ⊢ ( 𝜑 → ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) )
5 3wlkd.e ⊢ ( 𝜑 → ( { 𝐴 , 𝐵 } ⊆ ( 𝐼 ‘ 𝐽 ) ∧ { 𝐵 , 𝐶 } ⊆ ( 𝐼 ‘ 𝐾 ) ∧ { 𝐶 , 𝐷 } ⊆ ( 𝐼 ‘ 𝐿 ) ) )
6 3wlkd.v ⊢ 𝑉 = ( Vtx ‘ 𝐺 )
7 3wlkd.i ⊢ 𝐼 = ( iEdg ‘ 𝐺 )
8 3trld.n ⊢ ( 𝜑 → ( 𝐽 ≠ 𝐾 ∧ 𝐽 ≠ 𝐿 ∧ 𝐾 ≠ 𝐿 ) )
9 3spthd.n ⊢ ( 𝜑 → 𝐴 ≠ 𝐷 )
10 1 2 3 4 5 6 7 8 3trld ⊢ ( 𝜑 → 𝐹 ( Trails ‘ 𝐺 ) 𝑃 )
11 simpr ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → 𝐹 ( Trails ‘ 𝐺 ) 𝑃 )
12 df-3an ⊢ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ↔ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ 𝐴 ≠ 𝐷 ) )
13 12 simplbi2 ⊢ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) → ( 𝐴 ≠ 𝐷 → ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ) )
14 13 3ad2ant1 ⊢ ( ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) → ( 𝐴 ≠ 𝐷 → ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ) )
15 9 14 mpan9 ⊢ ( ( 𝜑 ∧ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) ) → ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) )
16 simpr2 ⊢ ( ( 𝜑 ∧ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) ) → ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) )
17 simpr3 ⊢ ( ( 𝜑 ∧ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) ) → 𝐶 ≠ 𝐷 )
18 15 16 17 3jca ⊢ ( ( 𝜑 ∧ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) ) → ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) )
19 4 18 mpdan ⊢ ( 𝜑 → ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) )
20 funcnvs4 ⊢ ( ( ( ( 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉 ) ∧ ( 𝐶 ∈ 𝑉 ∧ 𝐷 ∈ 𝑉 ) ) ∧ ( ( 𝐴 ≠ 𝐵 ∧ 𝐴 ≠ 𝐶 ∧ 𝐴 ≠ 𝐷 ) ∧ ( 𝐵 ≠ 𝐶 ∧ 𝐵 ≠ 𝐷 ) ∧ 𝐶 ≠ 𝐷 ) ) → Fun ◡ ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ )
21 3 19 20 syl2anc ⊢ ( 𝜑 → Fun ◡ ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ )
22 21 adantr ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → Fun ◡ ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ )
23 1 a1i ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → 𝑃 = ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ )
24 23 cnveqd ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → ◡ 𝑃 = ◡ ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ )
25 24 funeqd ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → ( Fun ◡ 𝑃 ↔ Fun ◡ ⟨“ 𝐴 𝐵 𝐶 𝐷 ”⟩ ) )
26 22 25 mpbird ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → Fun ◡ 𝑃 )
27 isspth ⊢ ( 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 ↔ ( 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ∧ Fun ◡ 𝑃 ) )
28 11 26 27 sylanbrc ⊢ ( ( 𝜑 ∧ 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ) → 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 )
29 10 28 mpdan ⊢ ( 𝜑 → 𝐹 ( SPaths ‘ 𝐺 ) 𝑃 )