This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 ‘ 𝐺 ) 𝑃 ) |
| 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 ‘ 𝐺 ) 𝑃 ) |