Proof of Theorem spthcycl
| Step | Hyp | Ref
| Expression |
| 1 | | pthistrl 29671 |
. . . 4
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝐹(Trails‘𝐺)𝑃) |
| 2 | | pthiswlk 29673 |
. . . . 5
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃) |
| 3 | | eqid 2734 |
. . . . . . . 8
⊢
(Vtx‘𝐺) =
(Vtx‘𝐺) |
| 4 | 3 | wlkp 29562 |
. . . . . . 7
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) |
| 5 | 4 | ffund 6720 |
. . . . . 6
⊢ (𝐹(Walks‘𝐺)𝑃 → Fun 𝑃) |
| 6 | | wlklenvp1 29564 |
. . . . . . . . 9
⊢ (𝐹(Walks‘𝐺)𝑃 → (♯‘𝑃) = ((♯‘𝐹) + 1)) |
| 7 | 6 | adantr 480 |
. . . . . . . 8
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝑃) = ((♯‘𝐹) + 1)) |
| 8 | | wlkv 29558 |
. . . . . . . . . . 11
⊢ (𝐹(Walks‘𝐺)𝑃 → (𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V)) |
| 9 | 8 | simp2d 1143 |
. . . . . . . . . 10
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝐹 ∈ V) |
| 10 | | hasheq0 14384 |
. . . . . . . . . . 11
⊢ (𝐹 ∈ V →
((♯‘𝐹) = 0
↔ 𝐹 =
∅)) |
| 11 | 10 | biimpar 477 |
. . . . . . . . . 10
⊢ ((𝐹 ∈ V ∧ 𝐹 = ∅) →
(♯‘𝐹) =
0) |
| 12 | 9, 11 | sylan 580 |
. . . . . . . . 9
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝐹) = 0) |
| 13 | | oveq1 7420 |
. . . . . . . . . 10
⊢
((♯‘𝐹) =
0 → ((♯‘𝐹)
+ 1) = (0 + 1)) |
| 14 | | 0p1e1 12370 |
. . . . . . . . . 10
⊢ (0 + 1) =
1 |
| 15 | 13, 14 | eqtrdi 2785 |
. . . . . . . . 9
⊢
((♯‘𝐹) =
0 → ((♯‘𝐹)
+ 1) = 1) |
| 16 | 12, 15 | syl 17 |
. . . . . . . 8
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → ((♯‘𝐹) + 1) = 1) |
| 17 | 7, 16 | eqtrd 2769 |
. . . . . . 7
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝑃) = 1) |
| 18 | 8 | simp3d 1144 |
. . . . . . . . 9
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃 ∈ V) |
| 19 | | hashen1 14391 |
. . . . . . . . 9
⊢ (𝑃 ∈ V →
((♯‘𝑃) = 1
↔ 𝑃 ≈
1o)) |
| 20 | 18, 19 | syl 17 |
. . . . . . . 8
⊢ (𝐹(Walks‘𝐺)𝑃 → ((♯‘𝑃) = 1 ↔ 𝑃 ≈ 1o)) |
| 21 | 20 | biimpa 476 |
. . . . . . 7
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ (♯‘𝑃) = 1) → 𝑃 ≈ 1o) |
| 22 | 17, 21 | syldan 591 |
. . . . . 6
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝑃 ≈ 1o) |
| 23 | | funen1cnv 35061 |
. . . . . 6
⊢ ((Fun
𝑃 ∧ 𝑃 ≈ 1o) → Fun ◡𝑃) |
| 24 | 5, 22, 23 | syl2an2r 685 |
. . . . 5
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → Fun ◡𝑃) |
| 25 | 2, 24 | sylan 580 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → Fun ◡𝑃) |
| 26 | | isspth 29670 |
. . . . 5
⊢ (𝐹(SPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡𝑃)) |
| 27 | 26 | biimpri 228 |
. . . 4
⊢ ((𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡𝑃) → 𝐹(SPaths‘𝐺)𝑃) |
| 28 | 1, 25, 27 | syl2an2r 685 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝐹(SPaths‘𝐺)𝑃) |
| 29 | | fveq2 6886 |
. . . . . . 7
⊢ (0 =
(♯‘𝐹) →
(𝑃‘0) = (𝑃‘(♯‘𝐹))) |
| 30 | 29 | eqcoms 2742 |
. . . . . 6
⊢
((♯‘𝐹) =
0 → (𝑃‘0) =
(𝑃‘(♯‘𝐹))) |
| 31 | 12, 30 | syl 17 |
. . . . 5
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝑃‘0) = (𝑃‘(♯‘𝐹))) |
| 32 | 2, 31 | sylan 580 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝑃‘0) = (𝑃‘(♯‘𝐹))) |
| 33 | | iscycl 29739 |
. . . . 5
⊢ (𝐹(Cycles‘𝐺)𝑃 ↔ (𝐹(Paths‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹)))) |
| 34 | 33 | biimpri 228 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹))) → 𝐹(Cycles‘𝐺)𝑃) |
| 35 | 32, 34 | syldan 591 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝐹(Cycles‘𝐺)𝑃) |
| 36 | 28, 35 | jca 511 |
. 2
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃)) |
| 37 | | spthispth 29672 |
. . . 4
⊢ (𝐹(SPaths‘𝐺)𝑃 → 𝐹(Paths‘𝐺)𝑃) |
| 38 | 37 | adantr 480 |
. . 3
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → 𝐹(Paths‘𝐺)𝑃) |
| 39 | | notnot 142 |
. . . . 5
⊢ (𝐹(SPaths‘𝐺)𝑃 → ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) |
| 40 | | cyclnspth 29749 |
. . . . . . . 8
⊢ (𝐹 ≠ ∅ → (𝐹(Cycles‘𝐺)𝑃 → ¬ 𝐹(SPaths‘𝐺)𝑃)) |
| 41 | 40 | com12 32 |
. . . . . . 7
⊢ (𝐹(Cycles‘𝐺)𝑃 → (𝐹 ≠ ∅ → ¬ 𝐹(SPaths‘𝐺)𝑃)) |
| 42 | 41 | con3dimp 408 |
. . . . . 6
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) → ¬ 𝐹 ≠ ∅) |
| 43 | | nne 2935 |
. . . . . 6
⊢ (¬
𝐹 ≠ ∅ ↔ 𝐹 = ∅) |
| 44 | 42, 43 | sylib 218 |
. . . . 5
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) → 𝐹 = ∅) |
| 45 | 39, 44 | sylan2 593 |
. . . 4
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ 𝐹(SPaths‘𝐺)𝑃) → 𝐹 = ∅) |
| 46 | 45 | ancoms 458 |
. . 3
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → 𝐹 = ∅) |
| 47 | 38, 46 | jca 511 |
. 2
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → (𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅)) |
| 48 | 36, 47 | impbii 209 |
1
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃)) |