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

Theorem dfpth2 29936
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 29928 . 2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
2 istrl 29902 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
3 wlkcl 29823 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
4 eqid 2763 . . . . . . . . . . . . . 14 (Vtx‘𝐺) = (Vtx‘𝐺)
54wlkp 29824 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
6 ffn 6691 . . . . . . . . . . . . . . 15 (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) → 𝑃 Fn (0...(♯‘𝐹)))
76adantl 485 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 𝑃 Fn (0...(♯‘𝐹)))
8 0elfz 13639 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐹)))
98adantr 484 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 0 ∈ (0...(♯‘𝐹)))
10 nn0fz0 13640 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 ↔ (♯‘𝐹) ∈ (0...(♯‘𝐹)))
1110birani 507 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
127, 9, 113jca 1142 . . . . . . . . . . . . 13 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
133, 5, 12syl2anc 593 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
1413adantr 484 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
152, 14sylbi 219 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
16 fnimapr 6950 . . . . . . . . . 10 ((𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))) → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1715, 16syl 17 . . . . . . . . 9 (𝐹(Trails‘𝐺)𝑃 → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1817ineq1d 4172 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))))
1918eqeq1d 2765 . . . . . . 7 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
20 disj 4405 . . . . . . . 8 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))))
21 fvex 6880 . . . . . . . . . 10 (𝑃‘0) ∈ V
22 fvex 6880 . . . . . . . . . 10 (𝑃‘(♯‘𝐹)) ∈ V
23 eleq1 2851 . . . . . . . . . . 11 (𝑥 = (𝑃‘0) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2423notbid 320 . . . . . . . . . 10 (𝑥 = (𝑃‘0) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
25 eleq1 2851 . . . . . . . . . . 11 (𝑥 = (𝑃‘(♯‘𝐹)) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2625notbid 320 . . . . . . . . . 10 (𝑥 = (𝑃‘(♯‘𝐹)) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2721, 22, 24, 26ralpr 4660 . . . . . . . . 9 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
28 df-nel 3063 . . . . . . . . . 10 ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))))
2928bicomi 226 . . . . . . . . 9 (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))
3027, 29bianbi 636 . . . . . . . 8 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3120, 30bitri 277 . . . . . . 7 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3219, 31bitrdi 289 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))))
3332anbi2d 639 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))))
34 ancom 464 . . . . . . 7 (((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
3534bianass 652 . . . . . 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 4291 . . . . . . . . . . . 12 ¬ (𝑃‘(♯‘𝐹)) ∈ ∅
3837biantru 537 . . . . . . . . . . 11 (Fun (𝑃 ↾ ∅) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
3938bicomi 226 . . . . . . . . . 10 ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅))
4039a1i 11 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅)))
41 oveq2 7404 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = (1..^0))
42 0le1 11721 . . . . . . . . . . . . . . 15 0 ≤ 1
43 1z 12611 . . . . . . . . . . . . . . . 16 1 ∈ ℤ
44 0z 12589 . . . . . . . . . . . . . . . 16 0 ∈ ℤ
45 fzon 13696 . . . . . . . . . . . . . . . 16 ((1 ∈ ℤ ∧ 0 ∈ ℤ) → (0 ≤ 1 ↔ (1..^0) = ∅))
4643, 44, 45mp2an 702 . . . . . . . . . . . . . . 15 (0 ≤ 1 ↔ (1..^0) = ∅)
4742, 46mpbi 232 . . . . . . . . . . . . . 14 (1..^0) = ∅
4841, 47eqtrdi 2814 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = ∅)
4948reseq2d 5965 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5049cnveqd 5848 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5150funeqd 6543 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
5248imaeq2d 6049 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ ∅))
53 ima0 6066 . . . . . . . . . . . . 13 (𝑃 “ ∅) = ∅
5452, 53eqtrdi 2814 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = ∅)
5554eleq2d 2849 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → ((𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ ∅))
5655notbid 320 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
5751, 56anbi12d 641 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅)))
58 oveq2 7404 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = (1...0))
59 fz10 13560 . . . . . . . . . . . . 13 (1...0) = ∅
6058, 59eqtrdi 2814 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = ∅)
6160reseq2d 5965 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6261cnveqd 5848 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6362funeqd 6543 . . . . . . . . 9 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1...(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
6440, 57, 633bitr4d 313 . . . . . . . 8 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
6564a1d 25 . . . . . . 7 ((♯‘𝐹) = 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
66 df-nel 3063 . . . . . . . . . . . . 13 ((𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))
6766bicomi 226 . . . . . . . . . . . 12 (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))))
6867anbi2i 632 . . . . . . . . . . 11 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
69 trliswlk 29903 . . . . . . . . . . . 12 (𝐹(Trails‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
703, 10sylib 220 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
71 fzonel 13689 . . . . . . . . . . . . . . 15 ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹))
7271a1i 11 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹)))
7370, 72eldifd 3916 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))))
74 1eluzge0 12891 . . . . . . . . . . . . . . 15 1 ∈ (ℤ‘0)
75 fzoss1 13702 . . . . . . . . . . . . . . 15 (1 ∈ (ℤ‘0) → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
7674, 75mp1i 13 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
77 fzossfz 13694 . . . . . . . . . . . . . 14 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
7876, 77sstrdi 3949 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
795, 73, 783jca 1142 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))))
80 resf1ext2b 7916 . . . . . . . . . . . 12 ((𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8169, 79, 803syl 18 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8268, 81bitrid 285 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8382adantl 485 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
84 elnnne0 12505 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ ((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0))
85 elnnuz 12889 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ (♯‘𝐹) ∈ (ℤ‘1))
8684, 85sylbb1 239 . . . . . . . . . . . . . . . . 17 (((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0) → (♯‘𝐹) ∈ (ℤ‘1))
8786ex 416 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) ∈ ℕ0 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
8869, 3, 873syl 18 . . . . . . . . . . . . . . 15 (𝐹(Trails‘𝐺)𝑃 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
8988impcom 411 . . . . . . . . . . . . . 14 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (♯‘𝐹) ∈ (ℤ‘1))
90 fzisfzounsn 13796 . . . . . . . . . . . . . 14 ((♯‘𝐹) ∈ (ℤ‘1) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9189, 90syl 17 . . . . . . . . . . . . 13 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9291eqcomd 2769 . . . . . . . . . . . 12 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}) = (1...(♯‘𝐹)))
9392reseq2d 5965 . . . . . . . . . . 11 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9493cnveqd 5848 . . . . . . . . . 10 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9594funeqd 6543 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9683, 95bitrd 281 . . . . . . . 8 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9796ex 416 . . . . . . 7 ((♯‘𝐹) ≠ 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
9865, 97pm2.61ine 3041 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9998anbi1d 640 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → (((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
10033, 36, 993bitrd 307 . . . 4 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
101100pm5.32i 582 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
102 3anass 1107 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)))
103 3anass 1107 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
104101, 102, 1033bitr4i 305 . 2 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
1051, 104bitri 277 1 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 208  wa 399  w3a 1099   = wceq 1561  wcel 2143  wne 2958  wnel 3062  wral 3077  cdif 3902  cun 3903  cin 3904  wss 3905  c0 4286  {csn 4583  {cpr 4585   class class class wbr 5101  ccnv 5647  cres 5650  cima 5651  Fun wfun 6515   Fn wfn 6516  wf 6517  cfv 6521  (class class class)co 7396  0cc0 11084  1c1 11085  cle 11228  cn 12220  0cn0 12491  cz 12578  cuz 12849  ...cfz 13522  ..^cfzo 13669  chash 14353  Vtxcvtx 29204  Walkscwlks 29804  Trailsctrls 29896  Pathscpths 29917
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1816  ax-4 1830  ax-5 1931  ax-6 1988  ax-7 2029  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-rep 5228  ax-sep 5247  ax-nul 5257  ax-pow 5323  ax-pr 5391  ax-un 7718  ax-cnex 11140  ax-resscn 11141  ax-1cn 11142  ax-icn 11143  ax-addcl 11144  ax-addrcl 11145  ax-mulcl 11146  ax-mulrcl 11147  ax-mulcom 11148  ax-addass 11149  ax-mulass 11150  ax-distr 11151  ax-i2m1 11152  ax-1ne0 11153  ax-1rid 11154  ax-rnegex 11155  ax-rrecex 11156  ax-cnre 11157  ax-pre-lttri 11158  ax-pre-lttrn 11159  ax-pre-ltadd 11160  ax-pre-mulgt0 11161
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-ifp 1075  df-3or 1100  df-3an 1101  df-tru 1564  df-fal 1574  df-ex 1801  df-nf 1805  df-sb 2092  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-nel 3063  df-ral 3078  df-rex 3088  df-reu 3369  df-rab 3416  df-v 3457  df-sbc 3746  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-pss 3925  df-nul 4287  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5102  df-opab 5164  df-mpt 5183  df-tr 5209  df-id 5543  df-eprel 5548  df-po 5556  df-so 5557  df-fr 5601  df-we 5603  df-xp 5654  df-rel 5655  df-cnv 5656  df-co 5657  df-dm 5658  df-rn 5659  df-res 5660  df-ima 5661  df-pred 6288  df-ord 6349  df-on 6350  df-lim 6351  df-suc 6352  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-riota 7353  df-ov 7399  df-oprab 7400  df-mpo 7401  df-om 7847  df-1st 7970  df-2nd 7971  df-frecs 8262  df-wrecs 8293  df-recs 8342  df-rdg 8381  df-1o 8437  df-er 8678  df-map 8810  df-en 8928  df-dom 8929  df-sdom 8930  df-fin 8931  df-card 9909  df-pnf 11229  df-mnf 11230  df-xr 11231  df-ltxr 11232  df-le 11233  df-sub 11427  df-neg 11428  df-nn 12221  df-n0 12492  df-z 12579  df-uz 12850  df-fz 13523  df-fzo 13670  df-hash 14354  df-word 14537  df-wlks 29807  df-trls 29898  df-pths 29921
This theorem is referenced by:  pthdifv  29937
  Copyright terms: Public domain W3C validator