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

Theorem dfpth2 29696
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 29688 . 2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
2 istrl 29661 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
3 wlkcl 29580 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
4 eqid 2734 . . . . . . . . . . . . . 14 (Vtx‘𝐺) = (Vtx‘𝐺)
54wlkp 29581 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
6 ffn 6717 . . . . . . . . . . . . . . 15 (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) → 𝑃 Fn (0...(♯‘𝐹)))
76adantl 481 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 𝑃 Fn (0...(♯‘𝐹)))
8 0elfz 13647 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐹)))
98adantr 480 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 0 ∈ (0...(♯‘𝐹)))
10 nn0fz0 13648 . . . . . . . . . . . . . . . 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 6973 . . . . . . . . . 10 ((𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))) → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1816, 17syl 17 . . . . . . . . 9 (𝐹(Trails‘𝐺)𝑃 → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1918ineq1d 4201 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))))
2019eqeq1d 2736 . . . . . . 7 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
21 disj 4432 . . . . . . . 8 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))))
22 fvex 6900 . . . . . . . . . 10 (𝑃‘0) ∈ V
23 fvex 6900 . . . . . . . . . 10 (𝑃‘(♯‘𝐹)) ∈ V
24 eleq1 2821 . . . . . . . . . . 11 (𝑥 = (𝑃‘0) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2524notbid 318 . . . . . . . . . 10 (𝑥 = (𝑃‘0) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
26 eleq1 2821 . . . . . . . . . . 11 (𝑥 = (𝑃‘(♯‘𝐹)) → (𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2726notbid 318 . . . . . . . . . 10 (𝑥 = (𝑃‘(♯‘𝐹)) → (¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
2822, 23, 25, 27ralpr 4682 . . . . . . . . 9 (∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (¬ (𝑃‘0) ∈ (𝑃 “ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))))
29 df-nel 3036 . . . . . . . . . 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 4320 . . . . . . . . . . . 12 ¬ (𝑃‘(♯‘𝐹)) ∈ ∅
3938biantru 529 . . . . . . . . . . 11 (Fun (𝑃 ↾ ∅) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
4039bicomi 224 . . . . . . . . . 10 ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅))
4140a1i 11 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅)))
42 oveq2 7422 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = (1..^0))
43 0le1 11769 . . . . . . . . . . . . . . 15 0 ≤ 1
44 1z 12631 . . . . . . . . . . . . . . . 16 1 ∈ ℤ
45 0z 12608 . . . . . . . . . . . . . . . 16 0 ∈ ℤ
46 fzon 13703 . . . . . . . . . . . . . . . 16 ((1 ∈ ℤ ∧ 0 ∈ ℤ) → (0 ≤ 1 ↔ (1..^0) = ∅))
4744, 45, 46mp2an 692 . . . . . . . . . . . . . . 15 (0 ≤ 1 ↔ (1..^0) = ∅)
4843, 47mpbi 230 . . . . . . . . . . . . . 14 (1..^0) = ∅
4942, 48eqtrdi 2785 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = ∅)
5049reseq2d 5979 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5150cnveqd 5868 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5251funeqd 6569 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
5349imaeq2d 6060 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ ∅))
54 ima0 6077 . . . . . . . . . . . . 13 (𝑃 “ ∅) = ∅
5553, 54eqtrdi 2785 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = ∅)
5655eleq2d 2819 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → ((𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∈ ∅))
5756notbid 318 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
5852, 57anbi12d 632 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅)))
59 oveq2 7422 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = (1...0))
60 fz10 13568 . . . . . . . . . . . . 13 (1...0) = ∅
6159, 60eqtrdi 2785 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = ∅)
6261reseq2d 5979 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6362cnveqd 5868 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6463funeqd 6569 . . . . . . . . 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 3036 . . . . . . . . . . . . 13 ((𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))) ↔ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))))
6867bicomi 224 . . . . . . . . . . . 12 (¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹))) ↔ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹))))
6968anbi2i 623 . . . . . . . . . . 11 ((Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ (𝑃 “ (1..^(♯‘𝐹)))) ↔ (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ (𝑃‘(♯‘𝐹)) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
70 trliswlk 29662 . . . . . . . . . . . 12 (𝐹(Trails‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
713, 10sylib 218 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
72 fzonel 13696 . . . . . . . . . . . . . . 15 ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹))
7372a1i 11 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹)))
7471, 73eldifd 3944 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))))
75 1eluzge0 12917 . . . . . . . . . . . . . . 15 1 ∈ (ℤ‘0)
76 fzoss1 13709 . . . . . . . . . . . . . . 15 (1 ∈ (ℤ‘0) → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
7775, 76mp1i 13 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
78 fzossfz 13701 . . . . . . . . . . . . . 14 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
7977, 78sstrdi 3978 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
805, 74, 793jca 1128 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))))
81 resf1ext2b 7940 . . . . . . . . . . . 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 12524 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ ((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0))
86 elnnuz 12905 . . . . . . . . . . . . . . . . . 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 13801 . . . . . . . . . . . . . 14 ((♯‘𝐹) ∈ (ℤ‘1) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9290, 91syl 17 . . . . . . . . . . . . 13 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9392eqcomd 2740 . . . . . . . . . . . 12 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}) = (1...(♯‘𝐹)))
9493reseq2d 5979 . . . . . . . . . . 11 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9594cnveqd 5868 . . . . . . . . . 10 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9695funeqd 6569 . . . . . . . . 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 3014 . . . . . 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 1539  wcel 2107  wne 2931  wnel 3035  wral 3050  cdif 3930  cun 3931  cin 3932  wss 3933  c0 4315  {csn 4608  {cpr 4610   class class class wbr 5125  ccnv 5666  cres 5669  cima 5670  Fun wfun 6536   Fn wfn 6537  wf 6538  cfv 6542  (class class class)co 7414  0cc0 11138  1c1 11139  cle 11279  cn 12249  0cn0 12510  cz 12597  cuz 12861  ...cfz 13530  ..^cfzo 13677  chash 14352  Vtxcvtx 28960  Walkscwlks 29561  Trailsctrls 29655  Pathscpths 29677
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1794  ax-4 1808  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 2706  ax-rep 5261  ax-sep 5278  ax-nul 5288  ax-pow 5347  ax-pr 5414  ax-un 7738  ax-cnex 11194  ax-resscn 11195  ax-1cn 11196  ax-icn 11197  ax-addcl 11198  ax-addrcl 11199  ax-mulcl 11200  ax-mulrcl 11201  ax-mulcom 11202  ax-addass 11203  ax-mulass 11204  ax-distr 11205  ax-i2m1 11206  ax-1ne0 11207  ax-1rid 11208  ax-rnegex 11209  ax-rrecex 11210  ax-cnre 11211  ax-pre-lttri 11212  ax-pre-lttrn 11213  ax-pre-ltadd 11214  ax-pre-mulgt0 11215
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 1542  df-fal 1552  df-ex 1779  df-nf 1783  df-sb 2064  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2726  df-clel 2808  df-nfc 2884  df-ne 2932  df-nel 3036  df-ral 3051  df-rex 3060  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3773  df-csb 3882  df-dif 3936  df-un 3938  df-in 3940  df-ss 3950  df-pss 3953  df-nul 4316  df-if 4508  df-pw 4584  df-sn 4609  df-pr 4611  df-op 4615  df-uni 4890  df-int 4929  df-iun 4975  df-br 5126  df-opab 5188  df-mpt 5208  df-tr 5242  df-id 5560  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-we 5621  df-xp 5673  df-rel 5674  df-cnv 5675  df-co 5676  df-dm 5677  df-rn 5678  df-res 5679  df-ima 5680  df-pred 6303  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6495  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7871  df-1st 7997  df-2nd 7998  df-frecs 8289  df-wrecs 8320  df-recs 8394  df-rdg 8433  df-1o 8489  df-er 8728  df-map 8851  df-en 8969  df-dom 8970  df-sdom 8971  df-fin 8972  df-card 9962  df-pnf 11280  df-mnf 11281  df-xr 11282  df-ltxr 11283  df-le 11284  df-sub 11477  df-neg 11478  df-nn 12250  df-n0 12511  df-z 12598  df-uz 12862  df-fz 13531  df-fzo 13678  df-hash 14353  df-word 14536  df-wlks 29564  df-trls 29657  df-pths 29681
This theorem is referenced by:  pthdifv  29697
  Copyright terms: Public domain W3C validator