Proof of Theorem spthcycl
Step | Hyp | Ref
| Expression |
1 | | pthistrl 27994 |
. . . 4
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝐹(Trails‘𝐺)𝑃) |
2 | | pthiswlk 27996 |
. . . . 5
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃) |
3 | | eqid 2738 |
. . . . . . . 8
⊢
(Vtx‘𝐺) =
(Vtx‘𝐺) |
4 | 3 | wlkp 27886 |
. . . . . . 7
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) |
5 | 4 | ffund 6588 |
. . . . . 6
⊢ (𝐹(Walks‘𝐺)𝑃 → Fun 𝑃) |
6 | | wlklenvp1 27888 |
. . . . . . . . 9
⊢ (𝐹(Walks‘𝐺)𝑃 → (♯‘𝑃) = ((♯‘𝐹) + 1)) |
7 | 6 | adantr 480 |
. . . . . . . 8
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝑃) = ((♯‘𝐹) + 1)) |
8 | | wlkv 27882 |
. . . . . . . . . . 11
⊢ (𝐹(Walks‘𝐺)𝑃 → (𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V)) |
9 | 8 | simp2d 1141 |
. . . . . . . . . 10
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝐹 ∈ V) |
10 | | hasheq0 14006 |
. . . . . . . . . . 11
⊢ (𝐹 ∈ V →
((♯‘𝐹) = 0
↔ 𝐹 =
∅)) |
11 | 10 | biimpar 477 |
. . . . . . . . . 10
⊢ ((𝐹 ∈ V ∧ 𝐹 = ∅) →
(♯‘𝐹) =
0) |
12 | 9, 11 | sylan 579 |
. . . . . . . . 9
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝐹) = 0) |
13 | | oveq1 7262 |
. . . . . . . . . 10
⊢
((♯‘𝐹) =
0 → ((♯‘𝐹)
+ 1) = (0 + 1)) |
14 | | 0p1e1 12025 |
. . . . . . . . . 10
⊢ (0 + 1) =
1 |
15 | 13, 14 | eqtrdi 2795 |
. . . . . . . . 9
⊢
((♯‘𝐹) =
0 → ((♯‘𝐹)
+ 1) = 1) |
16 | 12, 15 | syl 17 |
. . . . . . . 8
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → ((♯‘𝐹) + 1) = 1) |
17 | 7, 16 | eqtrd 2778 |
. . . . . . 7
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (♯‘𝑃) = 1) |
18 | 8 | simp3d 1142 |
. . . . . . . . 9
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃 ∈ V) |
19 | | hashen1 14013 |
. . . . . . . . 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 590 |
. . . . . 6
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝑃 ≈ 1o) |
23 | | funen1cnv 32960 |
. . . . . 6
⊢ ((Fun
𝑃 ∧ 𝑃 ≈ 1o) → Fun ◡𝑃) |
24 | 5, 22, 23 | syl2an2r 681 |
. . . . 5
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → Fun ◡𝑃) |
25 | 2, 24 | sylan 579 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → Fun ◡𝑃) |
26 | | isspth 27993 |
. . . . 5
⊢ (𝐹(SPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡𝑃)) |
27 | 26 | biimpri 227 |
. . . 4
⊢ ((𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡𝑃) → 𝐹(SPaths‘𝐺)𝑃) |
28 | 1, 25, 27 | syl2an2r 681 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝐹(SPaths‘𝐺)𝑃) |
29 | | fveq2 6756 |
. . . . . . 7
⊢ (0 =
(♯‘𝐹) →
(𝑃‘0) = (𝑃‘(♯‘𝐹))) |
30 | 29 | eqcoms 2746 |
. . . . . 6
⊢
((♯‘𝐹) =
0 → (𝑃‘0) =
(𝑃‘(♯‘𝐹))) |
31 | 12, 30 | syl 17 |
. . . . 5
⊢ ((𝐹(Walks‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝑃‘0) = (𝑃‘(♯‘𝐹))) |
32 | 2, 31 | sylan 579 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝑃‘0) = (𝑃‘(♯‘𝐹))) |
33 | | iscycl 28060 |
. . . . 5
⊢ (𝐹(Cycles‘𝐺)𝑃 ↔ (𝐹(Paths‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹)))) |
34 | 33 | biimpri 227 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹))) → 𝐹(Cycles‘𝐺)𝑃) |
35 | 32, 34 | syldan 590 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → 𝐹(Cycles‘𝐺)𝑃) |
36 | 28, 35 | jca 511 |
. 2
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) → (𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃)) |
37 | | spthispth 27995 |
. . . 4
⊢ (𝐹(SPaths‘𝐺)𝑃 → 𝐹(Paths‘𝐺)𝑃) |
38 | 37 | adantr 480 |
. . 3
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → 𝐹(Paths‘𝐺)𝑃) |
39 | | notnot 142 |
. . . . 5
⊢ (𝐹(SPaths‘𝐺)𝑃 → ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) |
40 | | cyclnspth 28069 |
. . . . . . . 8
⊢ (𝐹 ≠ ∅ → (𝐹(Cycles‘𝐺)𝑃 → ¬ 𝐹(SPaths‘𝐺)𝑃)) |
41 | 40 | com12 32 |
. . . . . . 7
⊢ (𝐹(Cycles‘𝐺)𝑃 → (𝐹 ≠ ∅ → ¬ 𝐹(SPaths‘𝐺)𝑃)) |
42 | 41 | con3dimp 408 |
. . . . . 6
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) → ¬ 𝐹 ≠ ∅) |
43 | | nne 2946 |
. . . . . 6
⊢ (¬
𝐹 ≠ ∅ ↔ 𝐹 = ∅) |
44 | 42, 43 | sylib 217 |
. . . . 5
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ ¬ ¬ 𝐹(SPaths‘𝐺)𝑃) → 𝐹 = ∅) |
45 | 39, 44 | sylan2 592 |
. . . 4
⊢ ((𝐹(Cycles‘𝐺)𝑃 ∧ 𝐹(SPaths‘𝐺)𝑃) → 𝐹 = ∅) |
46 | 45 | ancoms 458 |
. . 3
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → 𝐹 = ∅) |
47 | 38, 46 | jca 511 |
. 2
⊢ ((𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃) → (𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅)) |
48 | 36, 47 | impbii 208 |
1
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ 𝐹 = ∅) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ 𝐹(Cycles‘𝐺)𝑃)) |