MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dfpth2 Structured version   Visualization version   GIF version

Theorem dfpth2 30044
Description: Alternate definition for a pair of classes/functions to be a path (in an undirected graph). (Contributed by AV, 4-Oct-2025.)
Assertion
Ref Expression
dfpth2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))

Proof of Theorem dfpth2
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ispth 30036 . 2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
2 istrl 30010 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
3 wlkcl 29931 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
4 eqid 2761 . . . . . . . . . . . . . 14 (Vtx‘𝐺) = (Vtx‘𝐺)
54wlkp 29932 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
6 ffn 6705 . . . . . . . . . . . . . . 15 (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) → 𝑃 Fn (0...(♯‘𝐹)))
76adantl 486 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 𝑃 Fn (0...(♯‘𝐹)))
8 0elfz 13651 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐹)))
98adantr 485 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 0 ∈ (0...(♯‘𝐹)))
10 nn0fz0 13652 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 ↔ (♯‘𝐹) ∈ (0...(♯‘𝐹)))
1110birani 508 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
127, 9, 113jca 1144 . . . . . . . . . . . . 13 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
133, 5, 12syl2anc 595 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
1413adantr 485 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
152, 14sylbi 220 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
16 fnimapr 6964 . . . . . . . . . 10 ((𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))) → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1715, 16syl 18 . . . . . . . . 9 (𝐹(Trails‘𝐺)𝑃 → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1817ineq1d 4171 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))))
1918eqeq1d 2763 . . . . . . 7 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
20 disj 4409 . . . . . . . 8 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))))
21 fvex 6894 . . . . . . . . . 10 (𝑃‘0) ∈ V
22 fvex 6894 . . . . . . . . . 10 (𝑃‘(♯‘𝐹)) ∈ V
23 eleq1 2849 . . . . . . . . . . 11 (𝑥 = (𝑃‘0) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2423notbid 321 . . . . . . . . . 10 (𝑥 = (𝑃‘0) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
25 eleq1 2849 . . . . . . . . . . 11 (𝑥 = (𝑃‘(♯‘𝐹)) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2625notbid 321 . . . . . . . . . 10 (𝑥 = (𝑃‘(♯‘𝐹)) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2721, 22, 24, 26ralpr 4665 . . . . . . . . 9 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
28 df-nel 3063 . . . . . . . . . 10 ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))))
2928bicomi 227 . . . . . . . . 9 (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))
3027, 29bianbi 638 . . . . . . . 8 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3120, 30bitri 278 . . . . . . 7 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3219, 31bitrdi 290 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))))
3332anbi2d 641 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))))
34 ancom 465 . . . . . . 7 (((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
3534bianass 654 . . . . . 6 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))) ↔ ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
3635a1i 11 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))) ↔ ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
37 noel 4290 . . . . . . . . . . . 12 ¬ (𝑃‘(♯‘𝐹)) ∈ ∅
3837biantru 538 . . . . . . . . . . 11 (Fun (𝑃 ↾ ∅) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
3938bicomi 227 . . . . . . . . . 10 ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅))
4039a1i 11 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅)))
41 oveq2 7418 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = (1..^0))
42 0le1 11736 . . . . . . . . . . . . . . 15 0 ≤ 1
43 1z 12623 . . . . . . . . . . . . . . . 16 1 ∈ ℤ
44 0z 12601 . . . . . . . . . . . . . . . 16 0 ∈ ℤ
45 fzon 13708 . . . . . . . . . . . . . . . 16 ((1 ∈ ℤ ∧ 0 ∈ ℤ) → (0 ≤ 1 ↔ (1..^0) = ∅))
4643, 44, 45mp2an 704 . . . . . . . . . . . . . . 15 (0 ≤ 1 ↔ (1..^0) = ∅)
4742, 46mpbi 233 . . . . . . . . . . . . . 14 (1..^0) = ∅
4841, 47eqtrdi 2812 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = ∅)
4948reseq2d 5978 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5049cnveqd 5861 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5150funeqd 6558 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
5248imaeq2d 6062 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ ∅))
53 ima0 6079 . . . . . . . . . . . . 13 (𝑃 “ ∅) = ∅
5452, 53eqtrdi 2812 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = ∅)
5554eleq2d 2847 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → ((𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ ∅))
5655notbid 321 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
5751, 56anbi12d 643 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅)))
58 oveq2 7418 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = (1...0))
59 fz10 13572 . . . . . . . . . . . . 13 (1...0) = ∅
6058, 59eqtrdi 2812 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = ∅)
6160reseq2d 5978 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6261cnveqd 5861 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6362funeqd 6558 . . . . . . . . 9 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1...(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
6440, 57, 633bitr4d 314 . . . . . . . 8 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
6564a1d 26 . . . . . . 7 ((♯‘𝐹) = 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
66 df-nel 3063 . . . . . . . . . . . . 13 ((𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))
6766bicomi 227 . . . . . . . . . . . 12 (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))))
6867anbi2i 634 . . . . . . . . . . 11 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
69 trliswlk 30011 . . . . . . . . . . . 12 (𝐹(Trails‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
703, 10sylib 221 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
71 fzonel 13701 . . . . . . . . . . . . . . 15 ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹))
7271a1i 11 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹)))
7370, 72eldifd 3915 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))))
74 1eluzge0 12903 . . . . . . . . . . . . . . 15 1 ∈ (ℤ‘0)
75 fzoss1 13714 . . . . . . . . . . . . . . 15 (1 ∈ (ℤ‘0) → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
7674, 75mp1i 14 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
77 fzossfz 13706 . . . . . . . . . . . . . 14 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
7876, 77sstrdi 3948 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
795, 73, 783jca 1144 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))))
80 resf1ext2b 7931 . . . . . . . . . . . 12 ((𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8169, 79, 803syl 19 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8268, 81bitrid 286 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8382adantl 486 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
84 elnnne0 12517 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ ((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0))
85 elnnuz 12901 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ (♯‘𝐹) ∈ (ℤ‘1))
8684, 85sylbb1 240 . . . . . . . . . . . . . . . . 17 (((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0) → (♯‘𝐹) ∈ (ℤ‘1))
8786ex 417 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) ∈ ℕ0 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
8869, 3, 873syl 19 . . . . . . . . . . . . . . 15 (𝐹(Trails‘𝐺)𝑃 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
8988impcom 412 . . . . . . . . . . . . . 14 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (♯‘𝐹) ∈ (ℤ‘1))
90 fzisfzounsn 13808 . . . . . . . . . . . . . 14 ((♯‘𝐹) ∈ (ℤ‘1) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9189, 90syl 18 . . . . . . . . . . . . 13 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9291eqcomd 2767 . . . . . . . . . . . 12 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}) = (1...(♯‘𝐹)))
9392reseq2d 5978 . . . . . . . . . . 11 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9493cnveqd 5861 . . . . . . . . . 10 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9594funeqd 6558 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9683, 95bitrd 282 . . . . . . . 8 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9796ex 417 . . . . . . 7 ((♯‘𝐹) ≠ 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
9865, 97pm2.61ine 3039 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9998anbi1d 642 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → (((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
10033, 36, 993bitrd 308 . . . 4 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
101100pm5.32i 584 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
102 3anass 1109 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)))
103 3anass 1109 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
104101, 102, 1033bitr4i 306 . 2 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
1051, 104bitri 278 1 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 400  w3a 1101   = wceq 1568  wcel 2141  wne 2956  wnel 3062  wral 3077  cdif 3901  cun 3902  cin 3903  wss 3904  c0 4285  {csn 4588  {cpr 4590   class class class wbr 5108  ccnv 5660  cres 5663  cima 5664  Fun wfun 6530   Fn wfn 6531  wf 6532  cfv 6536  (class class class)co 7410  0cc0 11099  1c1 11100  cle 11243  cn 12232  0cn0 12503  cz 12590  cuz 12861  ...cfz 13534  ..^cfzo 13681  chash 14365  Vtxcvtx 29312  Walkscwlks 29912  Trailsctrls 30004  Pathscpths 30025
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1823  ax-4 1837  ax-5 1938  ax-6 1995  ax-7 2036  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-rep 5237  ax-sep 5256  ax-nul 5268  ax-pow 5336  ax-pr 5404  ax-un 7732  ax-cnex 11155  ax-resscn 11156  ax-1cn 11157  ax-icn 11158  ax-addcl 11159  ax-addrcl 11160  ax-mulcl 11161  ax-mulrcl 11162  ax-mulcom 11163  ax-addass 11164  ax-mulass 11165  ax-distr 11166  ax-i2m1 11167  ax-1ne0 11168  ax-1rid 11169  ax-rnegex 11170  ax-rrecex 11171  ax-cnre 11172  ax-pre-lttri 11173  ax-pre-lttrn 11174  ax-pre-ltadd 11175  ax-pre-mulgt0 11176
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-ifp 1077  df-3or 1102  df-3an 1103  df-tru 1571  df-fal 1581  df-ex 1808  df-nf 1812  df-sb 2095  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-uni 4872  df-int 4912  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5556  df-eprel 5561  df-po 5569  df-so 5570  df-fr 5614  df-we 5616  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-rn 5672  df-res 5673  df-ima 5674  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-om 7862  df-1st 7985  df-2nd 7986  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-1o 8452  df-er 8693  df-map 8825  df-en 8943  df-dom 8944  df-sdom 8945  df-fin 8946  df-card 9924  df-pnf 11244  df-mnf 11245  df-xr 11246  df-ltxr 11247  df-le 11248  df-sub 11442  df-neg 11443  df-nn 12233  df-n0 12504  df-z 12591  df-uz 12862  df-fz 13535  df-fzo 13682  df-hash 14366  df-word 14550  df-wlks 29915  df-trls 30006  df-pths 30029
This theorem is referenced by:  pthdifv  30045
  Copyright terms: Public domain W3C validator