This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma 2 for uhgrwkspth . (Contributed by AV, 25-Jan-2021)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | uhgrwkspthlem2 | ⊢ ( ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 ∧ ( ( ♯ ‘ 𝐹 ) = 1 ∧ 𝐴 ≠ 𝐵 ) ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → Fun ◡ 𝑃 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | eqid | ⊢ ( Vtx ‘ 𝐺 ) = ( Vtx ‘ 𝐺 ) | |
| 2 | 1 | wlkp | ⊢ ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 → 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) ) |
| 3 | oveq2 | ⊢ ( ( ♯ ‘ 𝐹 ) = 1 → ( 0 ... ( ♯ ‘ 𝐹 ) ) = ( 0 ... 1 ) ) | |
| 4 | 1e0p1 | ⊢ 1 = ( 0 + 1 ) | |
| 5 | 4 | oveq2i | ⊢ ( 0 ... 1 ) = ( 0 ... ( 0 + 1 ) ) |
| 6 | 0z | ⊢ 0 ∈ ℤ | |
| 7 | fzpr | ⊢ ( 0 ∈ ℤ → ( 0 ... ( 0 + 1 ) ) = { 0 , ( 0 + 1 ) } ) | |
| 8 | 6 7 | ax-mp | ⊢ ( 0 ... ( 0 + 1 ) ) = { 0 , ( 0 + 1 ) } |
| 9 | 0p1e1 | ⊢ ( 0 + 1 ) = 1 | |
| 10 | 9 | preq2i | ⊢ { 0 , ( 0 + 1 ) } = { 0 , 1 } |
| 11 | 5 8 10 | 3eqtri | ⊢ ( 0 ... 1 ) = { 0 , 1 } |
| 12 | 3 11 | eqtrdi | ⊢ ( ( ♯ ‘ 𝐹 ) = 1 → ( 0 ... ( ♯ ‘ 𝐹 ) ) = { 0 , 1 } ) |
| 13 | 12 | feq2d | ⊢ ( ( ♯ ‘ 𝐹 ) = 1 → ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) ↔ 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ) ) |
| 14 | 13 | adantr | ⊢ ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) ↔ 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ) ) |
| 15 | simpl | ⊢ ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → ( 𝑃 ‘ 0 ) = 𝐴 ) | |
| 16 | simpr | ⊢ ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) | |
| 17 | 15 16 | neeq12d | ⊢ ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ↔ 𝐴 ≠ 𝐵 ) ) |
| 18 | 17 | bicomd | ⊢ ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → ( 𝐴 ≠ 𝐵 ↔ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) ) |
| 19 | fveq2 | ⊢ ( ( ♯ ‘ 𝐹 ) = 1 → ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = ( 𝑃 ‘ 1 ) ) | |
| 20 | 19 | neeq2d | ⊢ ( ( ♯ ‘ 𝐹 ) = 1 → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ↔ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) |
| 21 | 18 20 | sylan9bbr | ⊢ ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( 𝐴 ≠ 𝐵 ↔ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) |
| 22 | 14 21 | anbi12d | ⊢ ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) ∧ 𝐴 ≠ 𝐵 ) ↔ ( 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) ) |
| 23 | 1z | ⊢ 1 ∈ ℤ | |
| 24 | fpr2g | ⊢ ( ( 0 ∈ ℤ ∧ 1 ∈ ℤ ) → ( 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ↔ ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) ) ) | |
| 25 | 6 23 24 | mp2an | ⊢ ( 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ↔ ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) ) |
| 26 | funcnvs2 | ⊢ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) → Fun ◡ 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) | |
| 27 | 26 | 3expa | ⊢ ( ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) → Fun ◡ 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 28 | 27 | adantl | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → Fun ◡ 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 29 | simpl | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) | |
| 30 | s2prop | ⊢ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) → 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) | |
| 31 | 30 | eqcomd | ⊢ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) → { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } = 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 32 | 31 | adantr | ⊢ ( ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) → { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } = 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 33 | 32 | adantl | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } = 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 34 | 29 33 | eqtrd | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → 𝑃 = 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 35 | 34 | cnveqd | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → ◡ 𝑃 = ◡ 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) |
| 36 | 35 | funeqd | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → ( Fun ◡ 𝑃 ↔ Fun ◡ 〈“ ( 𝑃 ‘ 0 ) ( 𝑃 ‘ 1 ) ”〉 ) ) |
| 37 | 28 36 | mpbird | ⊢ ( ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ∧ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) ) → Fun ◡ 𝑃 ) |
| 38 | 37 | exp32 | ⊢ ( 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } → ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) → Fun ◡ 𝑃 ) ) ) |
| 39 | 38 | impcom | ⊢ ( ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ) ∧ 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) → Fun ◡ 𝑃 ) ) |
| 40 | 39 | 3impa | ⊢ ( ( ( 𝑃 ‘ 0 ) ∈ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 1 ) ∈ ( Vtx ‘ 𝐺 ) ∧ 𝑃 = { 〈 0 , ( 𝑃 ‘ 0 ) 〉 , 〈 1 , ( 𝑃 ‘ 1 ) 〉 } ) → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) → Fun ◡ 𝑃 ) ) |
| 41 | 25 40 | sylbi | ⊢ ( 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) → ( ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) → Fun ◡ 𝑃 ) ) |
| 42 | 41 | imp | ⊢ ( ( 𝑃 : { 0 , 1 } ⟶ ( Vtx ‘ 𝐺 ) ∧ ( 𝑃 ‘ 0 ) ≠ ( 𝑃 ‘ 1 ) ) → Fun ◡ 𝑃 ) |
| 43 | 22 42 | biimtrdi | ⊢ ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) ∧ 𝐴 ≠ 𝐵 ) → Fun ◡ 𝑃 ) ) |
| 44 | 43 | expd | ⊢ ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) → ( 𝐴 ≠ 𝐵 → Fun ◡ 𝑃 ) ) ) |
| 45 | 44 | com12 | ⊢ ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) → ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → ( 𝐴 ≠ 𝐵 → Fun ◡ 𝑃 ) ) ) |
| 46 | 45 | expd | ⊢ ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) → ( ( ♯ ‘ 𝐹 ) = 1 → ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → ( 𝐴 ≠ 𝐵 → Fun ◡ 𝑃 ) ) ) ) |
| 47 | 46 | com34 | ⊢ ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) → ( ( ♯ ‘ 𝐹 ) = 1 → ( 𝐴 ≠ 𝐵 → ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → Fun ◡ 𝑃 ) ) ) ) |
| 48 | 47 | impd | ⊢ ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ ( Vtx ‘ 𝐺 ) → ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ 𝐴 ≠ 𝐵 ) → ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → Fun ◡ 𝑃 ) ) ) |
| 49 | 2 48 | syl | ⊢ ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 → ( ( ( ♯ ‘ 𝐹 ) = 1 ∧ 𝐴 ≠ 𝐵 ) → ( ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) → Fun ◡ 𝑃 ) ) ) |
| 50 | 49 | 3imp | ⊢ ( ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 ∧ ( ( ♯ ‘ 𝐹 ) = 1 ∧ 𝐴 ≠ 𝐵 ) ∧ ( ( 𝑃 ‘ 0 ) = 𝐴 ∧ ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = 𝐵 ) ) → Fun ◡ 𝑃 ) |