Proof of Theorem pthhashvtx
| Step | Hyp | Ref
| Expression |
| 1 | | hashfz0 14489 |
. . . 4
⊢
(((♯‘𝐹)
− 1) ∈ ℕ0 →
(♯‘(0...((♯‘𝐹) − 1))) = (((♯‘𝐹) − 1) +
1)) |
| 2 | | pthiswlk 30111 |
. . . . . 6
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃) |
| 3 | | wlkcl 30002 |
. . . . . 6
⊢ (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈
ℕ0) |
| 4 | 2, 3 | syl 18 |
. . . . 5
⊢ (𝐹(Paths‘𝐺)𝑃 → (♯‘𝐹) ∈
ℕ0) |
| 5 | | nn0cn 12532 |
. . . . 5
⊢
((♯‘𝐹)
∈ ℕ0 → (♯‘𝐹) ∈ ℂ) |
| 6 | | npcan1 11657 |
. . . . 5
⊢
((♯‘𝐹)
∈ ℂ → (((♯‘𝐹) − 1) + 1) = (♯‘𝐹)) |
| 7 | 4, 5, 6 | 3syl 19 |
. . . 4
⊢ (𝐹(Paths‘𝐺)𝑃 → (((♯‘𝐹) − 1) + 1) = (♯‘𝐹)) |
| 8 | 1, 7 | sylan9eqr 2823 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (♯‘(0...((♯‘𝐹) − 1))) = (♯‘𝐹)) |
| 9 | | pthhashvtx.1 |
. . . . . . . 8
⊢ 𝑉 = (Vtx‘𝐺) |
| 10 | 9 | wlkp 30003 |
. . . . . . 7
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃:(0...(♯‘𝐹))⟶𝑉) |
| 11 | 2, 10 | syl 18 |
. . . . . 6
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝑃:(0...(♯‘𝐹))⟶𝑉) |
| 12 | 11 | ffnd 6713 |
. . . . 5
⊢ (𝐹(Paths‘𝐺)𝑃 → 𝑃 Fn (0...(♯‘𝐹))) |
| 13 | | fzfi 14028 |
. . . . 5
⊢
(0...((♯‘𝐹) − 1)) ∈ Fin |
| 14 | | resfnfinfin 9304 |
. . . . 5
⊢ ((𝑃 Fn (0...(♯‘𝐹)) ∧
(0...((♯‘𝐹)
− 1)) ∈ Fin) → (𝑃 ↾ (0...((♯‘𝐹) − 1))) ∈
Fin) |
| 15 | 12, 13, 14 | sylancl 598 |
. . . 4
⊢ (𝐹(Paths‘𝐺)𝑃 → (𝑃 ↾ (0...((♯‘𝐹) − 1))) ∈
Fin) |
| 16 | | simpr 490 |
. . . . 5
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ ((♯‘𝐹)
− 1) ∈ ℕ0) |
| 17 | | fzssp1 13614 |
. . . . . . . 8
⊢
(0...((♯‘𝐹) − 1)) ⊆
(0...(((♯‘𝐹)
− 1) + 1)) |
| 18 | 7 | oveq2d 7439 |
. . . . . . . 8
⊢ (𝐹(Paths‘𝐺)𝑃 → (0...(((♯‘𝐹) − 1) + 1)) =
(0...(♯‘𝐹))) |
| 19 | 17, 18 | sseqtrid 3982 |
. . . . . . 7
⊢ (𝐹(Paths‘𝐺)𝑃 → (0...((♯‘𝐹) − 1)) ⊆
(0...(♯‘𝐹))) |
| 20 | 11, 19 | fssresd 6752 |
. . . . . 6
⊢ (𝐹(Paths‘𝐺)𝑃 → (𝑃 ↾ (0...((♯‘𝐹) −
1))):(0...((♯‘𝐹) − 1))⟶𝑉) |
| 21 | 20 | adantr 486 |
. . . . 5
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (𝑃 ↾
(0...((♯‘𝐹)
− 1))):(0...((♯‘𝐹) − 1))⟶𝑉) |
| 22 | | fz1ssfz0 13670 |
. . . . . . . . . 10
⊢
(1...((♯‘𝐹) − 1)) ⊆
(0...((♯‘𝐹)
− 1)) |
| 23 | 22 | a1i 11 |
. . . . . . . . 9
⊢ (𝐹(Paths‘𝐺)𝑃 → (1...((♯‘𝐹) − 1)) ⊆
(0...((♯‘𝐹)
− 1))) |
| 24 | 20, 23 | fssresd 6752 |
. . . . . . . 8
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))):(1...((♯‘𝐹) − 1))⟶𝑉) |
| 25 | | ispth 30107 |
. . . . . . . . . 10
⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) =
∅)) |
| 26 | 25 | simp2bi 1164 |
. . . . . . . . 9
⊢ (𝐹(Paths‘𝐺)𝑃 → Fun ◡(𝑃 ↾ (1..^(♯‘𝐹)))) |
| 27 | | nn0z 12633 |
. . . . . . . . . . . . . . 15
⊢
((♯‘𝐹)
∈ ℕ0 → (♯‘𝐹) ∈ ℤ) |
| 28 | | fzoval 13707 |
. . . . . . . . . . . . . . 15
⊢
((♯‘𝐹)
∈ ℤ → (1..^(♯‘𝐹)) = (1...((♯‘𝐹) − 1))) |
| 29 | 27, 28 | syl 18 |
. . . . . . . . . . . . . 14
⊢
((♯‘𝐹)
∈ ℕ0 → (1..^(♯‘𝐹)) = (1...((♯‘𝐹) − 1))) |
| 30 | 4, 29 | syl 18 |
. . . . . . . . . . . . 13
⊢ (𝐹(Paths‘𝐺)𝑃 → (1..^(♯‘𝐹)) = (1...((♯‘𝐹) − 1))) |
| 31 | 30 | reseq2d 5983 |
. . . . . . . . . . . 12
⊢ (𝐹(Paths‘𝐺)𝑃 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ (1...((♯‘𝐹) − 1)))) |
| 32 | | resabs1 6010 |
. . . . . . . . . . . . 13
⊢
((1...((♯‘𝐹) − 1)) ⊆
(0...((♯‘𝐹)
− 1)) → ((𝑃
↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))) = (𝑃 ↾
(1...((♯‘𝐹)
− 1)))) |
| 33 | 22, 32 | ax-mp 5 |
. . . . . . . . . . . 12
⊢ ((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ↾ (1...((♯‘𝐹) − 1))) = (𝑃 ↾ (1...((♯‘𝐹) − 1))) |
| 34 | 31, 33 | eqtr4di 2819 |
. . . . . . . . . . 11
⊢ (𝐹(Paths‘𝐺)𝑃 → (𝑃 ↾ (1..^(♯‘𝐹))) = ((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1)))) |
| 35 | 34 | cnveqd 5866 |
. . . . . . . . . 10
⊢ (𝐹(Paths‘𝐺)𝑃 → ◡(𝑃 ↾ (1..^(♯‘𝐹))) = ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1)))) |
| 36 | 35 | funeqd 6565 |
. . . . . . . . 9
⊢ (𝐹(Paths‘𝐺)𝑃 → (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))))) |
| 37 | 26, 36 | mpbid 235 |
. . . . . . . 8
⊢ (𝐹(Paths‘𝐺)𝑃 → Fun ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1)))) |
| 38 | | df-f1 6548 |
. . . . . . . 8
⊢ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ↾ (1...((♯‘𝐹) − 1))):(1...((♯‘𝐹) − 1))–1-1→𝑉 ↔ (((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))):(1...((♯‘𝐹) − 1))⟶𝑉 ∧ Fun ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))))) |
| 39 | 24, 37, 38 | sylanbrc 595 |
. . . . . . 7
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1))):(1...((♯‘𝐹) − 1))–1-1→𝑉) |
| 40 | 39 | adantr 486 |
. . . . . 6
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ ((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ↾ (1...((♯‘𝐹) − 1))):(1...((♯‘𝐹) − 1))–1-1→𝑉) |
| 41 | 38 | simprbi 503 |
. . . . . 6
⊢ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ↾ (1...((♯‘𝐹) − 1))):(1...((♯‘𝐹) − 1))–1-1→𝑉 → Fun ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1)))) |
| 42 | 40, 41 | syl 18 |
. . . . 5
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ Fun ◡((𝑃 ↾ (0...((♯‘𝐹) − 1))) ↾
(1...((♯‘𝐹)
− 1)))) |
| 43 | | snsspr1 4785 |
. . . . . . . 8
⊢ {0}
⊆ {0, (♯‘𝐹)} |
| 44 | | imass2 6109 |
. . . . . . . 8
⊢ ({0}
⊆ {0, (♯‘𝐹)} → (𝑃 “ {0}) ⊆ (𝑃 “ {0, (♯‘𝐹)})) |
| 45 | 43, 44 | ax-mp 5 |
. . . . . . 7
⊢ (𝑃 “ {0}) ⊆ (𝑃 “ {0,
(♯‘𝐹)}) |
| 46 | | 0elfz 13671 |
. . . . . . . . 9
⊢
(((♯‘𝐹)
− 1) ∈ ℕ0 → 0 ∈
(0...((♯‘𝐹)
− 1))) |
| 47 | 46 | snssd 4757 |
. . . . . . . 8
⊢
(((♯‘𝐹)
− 1) ∈ ℕ0 → {0} ⊆
(0...((♯‘𝐹)
− 1))) |
| 48 | | resima2 6020 |
. . . . . . . 8
⊢ ({0}
⊆ (0...((♯‘𝐹) − 1)) → ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “ {0}) =
(𝑃 “
{0})) |
| 49 | | sseq1 3965 |
. . . . . . . 8
⊢ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) “ {0}) = (𝑃 “ {0}) → (((𝑃 ↾ (0...((♯‘𝐹) − 1))) “ {0})
⊆ (𝑃 “ {0,
(♯‘𝐹)}) ↔
(𝑃 “ {0}) ⊆
(𝑃 “ {0,
(♯‘𝐹)}))) |
| 50 | 47, 48, 49 | 3syl 19 |
. . . . . . 7
⊢
(((♯‘𝐹)
− 1) ∈ ℕ0 → (((𝑃 ↾ (0...((♯‘𝐹) − 1))) “ {0})
⊆ (𝑃 “ {0,
(♯‘𝐹)}) ↔
(𝑃 “ {0}) ⊆
(𝑃 “ {0,
(♯‘𝐹)}))) |
| 51 | 45, 50 | mpbiri 261 |
. . . . . 6
⊢
(((♯‘𝐹)
− 1) ∈ ℕ0 → ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “ {0})
⊆ (𝑃 “ {0,
(♯‘𝐹)})) |
| 52 | | resima2 6020 |
. . . . . . . . . 10
⊢
((1...((♯‘𝐹) − 1)) ⊆
(0...((♯‘𝐹)
− 1)) → ((𝑃
↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1))) = (𝑃 “
(1...((♯‘𝐹)
− 1)))) |
| 53 | 22, 52 | ax-mp 5 |
. . . . . . . . 9
⊢ ((𝑃 ↾
(0...((♯‘𝐹)
− 1))) “ (1...((♯‘𝐹) − 1))) = (𝑃 “ (1...((♯‘𝐹) − 1))) |
| 54 | 30 | imaeq2d 6067 |
. . . . . . . . 9
⊢ (𝐹(Paths‘𝐺)𝑃 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ (1...((♯‘𝐹) − 1)))) |
| 55 | 53, 54 | eqtr4id 2820 |
. . . . . . . 8
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1))) = (𝑃 “
(1..^(♯‘𝐹)))) |
| 56 | 55 | ineq2d 4176 |
. . . . . . 7
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1)))) = ((𝑃 “
{0, (♯‘𝐹)})
∩ (𝑃 “
(1..^(♯‘𝐹))))) |
| 57 | 25 | simp3bi 1165 |
. . . . . . 7
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) |
| 58 | 56, 57 | eqtrd 2801 |
. . . . . 6
⊢ (𝐹(Paths‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1)))) = ∅) |
| 59 | | ssdisj 4423 |
. . . . . 6
⊢ ((((𝑃 ↾
(0...((♯‘𝐹)
− 1))) “ {0}) ⊆ (𝑃 “ {0, (♯‘𝐹)}) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1)))) = ∅) → (((𝑃 ↾ (0...((♯‘𝐹) − 1))) “ {0})
∩ ((𝑃 ↾
(0...((♯‘𝐹)
− 1))) “ (1...((♯‘𝐹) − 1)))) = ∅) |
| 60 | 51, 58, 59 | syl2anr 609 |
. . . . 5
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) “ {0}) ∩ ((𝑃 ↾ (0...((♯‘𝐹) − 1))) “
(1...((♯‘𝐹)
− 1)))) = ∅) |
| 61 | 16, 21, 42, 60 | f1resfz0f1d 13840 |
. . . 4
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (𝑃 ↾
(0...((♯‘𝐹)
− 1))):(0...((♯‘𝐹) − 1))–1-1→𝑉) |
| 62 | 9 | fvexi 6902 |
. . . . 5
⊢ 𝑉 ∈ V |
| 63 | | hashf1dmcdm 14501 |
. . . . 5
⊢ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ∈ Fin ∧ 𝑉 ∈ V ∧ (𝑃 ↾ (0...((♯‘𝐹) −
1))):(0...((♯‘𝐹) − 1))–1-1→𝑉) →
(♯‘(0...((♯‘𝐹) − 1))) ≤ (♯‘𝑉)) |
| 64 | 62, 63 | mp3an2 1478 |
. . . 4
⊢ (((𝑃 ↾
(0...((♯‘𝐹)
− 1))) ∈ Fin ∧ (𝑃 ↾ (0...((♯‘𝐹) −
1))):(0...((♯‘𝐹) − 1))–1-1→𝑉) →
(♯‘(0...((♯‘𝐹) − 1))) ≤ (♯‘𝑉)) |
| 65 | 15, 61, 64 | syl2an2r 698 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (♯‘(0...((♯‘𝐹) − 1))) ≤ (♯‘𝑉)) |
| 66 | 8, 65 | eqbrtrrd 5140 |
. 2
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (♯‘𝐹)
≤ (♯‘𝑉)) |
| 67 | | 0nn0m1nnn0 35628 |
. . . . 5
⊢
((♯‘𝐹) =
0 ↔ ((♯‘𝐹)
∈ ℕ0 ∧ ¬ ((♯‘𝐹) − 1) ∈
ℕ0)) |
| 68 | 67 | biimpri 231 |
. . . 4
⊢
(((♯‘𝐹)
∈ ℕ0 ∧ ¬ ((♯‘𝐹) − 1) ∈ ℕ0)
→ (♯‘𝐹) =
0) |
| 69 | 4, 68 | sylan 592 |
. . 3
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ¬ ((♯‘𝐹) − 1) ∈
ℕ0) → (♯‘𝐹) = 0) |
| 70 | | hashge0 14443 |
. . . 4
⊢ (𝑉 ∈ V → 0 ≤
(♯‘𝑉)) |
| 71 | 62, 70 | ax-mp 5 |
. . 3
⊢ 0 ≤
(♯‘𝑉) |
| 72 | 69, 71 | eqbrtrdi 5155 |
. 2
⊢ ((𝐹(Paths‘𝐺)𝑃 ∧ ¬ ((♯‘𝐹) − 1) ∈
ℕ0) → (♯‘𝐹) ≤ (♯‘𝑉)) |
| 73 | 66, 72 | pm2.61dan 825 |
1
⊢ (𝐹(Paths‘𝐺)𝑃 → (♯‘𝐹) ≤ (♯‘𝑉)) |