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

Theorem dfpth2 29772
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 29764 . 2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
2 istrl 29737 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
3 wlkcl 29656 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
4 eqid 2736 . . . . . . . . . . . . . 14 (Vtx‘𝐺) = (Vtx‘𝐺)
54wlkp 29657 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
6 ffn 6741 . . . . . . . . . . . . . . 15 (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) → 𝑃 Fn (0...(♯‘𝐹)))
76adantl 481 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 𝑃 Fn (0...(♯‘𝐹)))
8 0elfz 13667 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐹)))
98adantr 480 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 0 ∈ (0...(♯‘𝐹)))
10 nn0fz0 13668 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) ∈ ℕ0 ↔ (♯‘𝐹) ∈ (0...(♯‘𝐹)))
1110biimpi 216 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
1211adantr 480 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
137, 9, 123jca 1128 . . . . . . . . . . . . 13 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
143, 5, 13syl2anc 584 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
1514adantr 480 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹) → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
162, 15sylbi 217 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → (𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))))
17 fnimapr 6996 . . . . . . . . . 10 ((𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))) → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1816, 17syl 17 . . . . . . . . 9 (𝐹(Trails‘𝐺)𝑃 → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1918ineq1d 4228 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))))
2019eqeq1d 2738 . . . . . . 7 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
21 disj 4457 . . . . . . . 8 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))))
22 fvex 6924 . . . . . . . . . 10 (𝑃‘0) ∈ V
23 fvex 6924 . . . . . . . . . 10 (𝑃‘(♯‘𝐹)) ∈ V
24 eleq1 2828 . . . . . . . . . . 11 (𝑥 = (𝑃‘0) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2524notbid 318 . . . . . . . . . 10 (𝑥 = (𝑃‘0) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
26 eleq1 2828 . . . . . . . . . . 11 (𝑥 = (𝑃‘(♯‘𝐹)) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2726notbid 318 . . . . . . . . . 10 (𝑥 = (𝑃‘(♯‘𝐹)) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2822, 23, 25, 27ralpr 4706 . . . . . . . . 9 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
29 df-nel 3046 . . . . . . . . . 10 ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))))
3029bicomi 224 . . . . . . . . 9 (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))
3128, 30bianbi 627 . . . . . . . 8 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3221, 31bitri 275 . . . . . . 7 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
3320, 32bitrdi 287 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))))
3433anbi2d 630 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))))
35 ancom 460 . . . . . . 7 (((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
3635bianass 642 . . . . . 6 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))) ↔ ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
3736a1i 11 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))) ↔ ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
38 noel 4345 . . . . . . . . . . . 12 ¬ (𝑃‘(♯‘𝐹)) ∈ ∅
3938biantru 529 . . . . . . . . . . 11 (Fun (𝑃 ↾ ∅) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
4039bicomi 224 . . . . . . . . . 10 ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅))
4140a1i 11 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅)))
42 oveq2 7443 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = (1..^0))
43 0le1 11790 . . . . . . . . . . . . . . 15 0 ≤ 1
44 1z 12651 . . . . . . . . . . . . . . . 16 1 ∈ ℤ
45 0z 12628 . . . . . . . . . . . . . . . 16 0 ∈ ℤ
46 fzon 13723 . . . . . . . . . . . . . . . 16 ((1 ∈ ℤ ∧ 0 ∈ ℤ) → (0 ≤ 1 ↔ (1..^0) = ∅))
4744, 45, 46mp2an 692 . . . . . . . . . . . . . . 15 (0 ≤ 1 ↔ (1..^0) = ∅)
4843, 47mpbi 230 . . . . . . . . . . . . . 14 (1..^0) = ∅
4942, 48eqtrdi 2792 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = ∅)
5049reseq2d 6001 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5150cnveqd 5890 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5251funeqd 6593 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
5349imaeq2d 6082 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ ∅))
54 ima0 6099 . . . . . . . . . . . . 13 (𝑃 “ ∅) = ∅
5553, 54eqtrdi 2792 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = ∅)
5655eleq2d 2826 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → ((𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ ∅))
5756notbid 318 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
5852, 57anbi12d 632 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅)))
59 oveq2 7443 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = (1...0))
60 fz10 13588 . . . . . . . . . . . . 13 (1...0) = ∅
6159, 60eqtrdi 2792 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = ∅)
6261reseq2d 6001 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6362cnveqd 5890 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6463funeqd 6593 . . . . . . . . 9 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1...(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
6541, 58, 643bitr4d 311 . . . . . . . 8 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
6665a1d 25 . . . . . . 7 ((♯‘𝐹) = 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
67 df-nel 3046 . . . . . . . . . . . . 13 ((𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))
6867bicomi 224 . . . . . . . . . . . 12 (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))))
6968anbi2i 623 . . . . . . . . . . 11 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
70 trliswlk 29738 . . . . . . . . . . . 12 (𝐹(Trails‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
713, 10sylib 218 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
72 fzonel 13716 . . . . . . . . . . . . . . 15 ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹))
7372a1i 11 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹)))
7471, 73eldifd 3975 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))))
75 1eluzge0 12938 . . . . . . . . . . . . . . 15 1 ∈ (ℤ‘0)
76 fzoss1 13729 . . . . . . . . . . . . . . 15 (1 ∈ (ℤ‘0) → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
7775, 76mp1i 13 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
78 fzossfz 13721 . . . . . . . . . . . . . 14 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
7977, 78sstrdi 4009 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
805, 74, 793jca 1128 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))))
81 resf1ext2b 7962 . . . . . . . . . . . 12 ((𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8270, 80, 813syl 18 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8369, 82bitrid 283 . . . . . . . . . 10 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
8483adantl 481 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))))
85 elnnne0 12544 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ ((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0))
86 elnnuz 12926 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ (♯‘𝐹) ∈ (ℤ‘1))
8785, 86sylbb1 237 . . . . . . . . . . . . . . . . 17 (((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0) → (♯‘𝐹) ∈ (ℤ‘1))
8887ex 412 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) ∈ ℕ0 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
8970, 3, 883syl 18 . . . . . . . . . . . . . . 15 (𝐹(Trails‘𝐺)𝑃 → ((♯‘𝐹) ≠ 0 → (♯‘𝐹) ∈ (ℤ‘1)))
9089impcom 407 . . . . . . . . . . . . . 14 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (♯‘𝐹) ∈ (ℤ‘1))
91 fzisfzounsn 13821 . . . . . . . . . . . . . 14 ((♯‘𝐹) ∈ (ℤ‘1) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9290, 91syl 17 . . . . . . . . . . . . 13 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9392eqcomd 2742 . . . . . . . . . . . 12 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}) = (1...(♯‘𝐹)))
9493reseq2d 6001 . . . . . . . . . . 11 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9594cnveqd 5890 . . . . . . . . . 10 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9695funeqd 6593 . . . . . . . . 9 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (Fun (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9784, 96bitrd 279 . . . . . . . 8 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
9897ex 412 . . . . . . 7 ((♯‘𝐹) ≠ 0 → (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹))))))
9966, 98pm2.61ine 3024 . . . . . 6 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ Fun (𝑃 ↾ (1...(♯‘𝐹)))))
10099anbi1d 631 . . . . 5 (𝐹(Trails‘𝐺)𝑃 → (((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
10134, 37, 1003bitrd 305 . . . 4 (𝐹(Trails‘𝐺)𝑃 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
102101pm5.32i 574 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
103 3anass 1094 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)))
104 3anass 1094 . . 3 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹))))))
105102, 103, 1043bitr4i 303 . 2 ((𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
1061, 105bitri 275 1 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  w3a 1086   = wceq 1538  wcel 2107  wne 2939  wnel 3045  wral 3060  cdif 3961  cun 3962  cin 3963  wss 3964  c0 4340  {csn 4632  {cpr 4634   class class class wbr 5149  ccnv 5689  cres 5692  cima 5693  Fun wfun 6560   Fn wfn 6561  wf 6562  cfv 6566  (class class class)co 7435  0cc0 11159  1c1 11160  cle 11300  cn 12270  0cn0 12530  cz 12617  cuz 12882  ...cfz 13550  ..^cfzo 13697  chash 14372  Vtxcvtx 29036  Walkscwlks 29637  Trailsctrls 29731  Pathscpths 29753
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2707  ax-rep 5286  ax-sep 5303  ax-nul 5313  ax-pow 5372  ax-pr 5439  ax-un 7758  ax-cnex 11215  ax-resscn 11216  ax-1cn 11217  ax-icn 11218  ax-addcl 11219  ax-addrcl 11220  ax-mulcl 11221  ax-mulrcl 11222  ax-mulcom 11223  ax-addass 11224  ax-mulass 11225  ax-distr 11226  ax-i2m1 11227  ax-1ne0 11228  ax-1rid 11229  ax-rnegex 11230  ax-rrecex 11231  ax-cnre 11232  ax-pre-lttri 11233  ax-pre-lttrn 11234  ax-pre-ltadd 11235  ax-pre-mulgt0 11236
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-ifp 1063  df-3or 1087  df-3an 1088  df-tru 1541  df-fal 1551  df-ex 1778  df-nf 1782  df-sb 2064  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2728  df-clel 2815  df-nfc 2891  df-ne 2940  df-nel 3046  df-ral 3061  df-rex 3070  df-reu 3380  df-rab 3435  df-v 3481  df-sbc 3793  df-csb 3910  df-dif 3967  df-un 3969  df-in 3971  df-ss 3981  df-pss 3984  df-nul 4341  df-if 4533  df-pw 4608  df-sn 4633  df-pr 4635  df-op 4639  df-uni 4914  df-int 4953  df-iun 4999  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5584  df-eprel 5590  df-po 5598  df-so 5599  df-fr 5642  df-we 5644  df-xp 5696  df-rel 5697  df-cnv 5698  df-co 5699  df-dm 5700  df-rn 5701  df-res 5702  df-ima 5703  df-pred 6326  df-ord 6392  df-on 6393  df-lim 6394  df-suc 6395  df-iota 6519  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-riota 7392  df-ov 7438  df-oprab 7439  df-mpo 7440  df-om 7892  df-1st 8019  df-2nd 8020  df-frecs 8311  df-wrecs 8342  df-recs 8416  df-rdg 8455  df-1o 8511  df-er 8750  df-map 8873  df-en 8991  df-dom 8992  df-sdom 8993  df-fin 8994  df-card 9983  df-pnf 11301  df-mnf 11302  df-xr 11303  df-ltxr 11304  df-le 11305  df-sub 11498  df-neg 11499  df-nn 12271  df-n0 12531  df-z 12618  df-uz 12883  df-fz 13551  df-fzo 13698  df-hash 14373  df-word 14556  df-wlks 29640  df-trls 29733  df-pths 29757
This theorem is referenced by:  pthdifv  29773
  Copyright terms: Public domain W3C validator