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

Theorem dfpth2 29645
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 29637 . 2 (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
2 istrl 29610 . . . . . . . . . . 11 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
3 wlkcl 29529 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
4 eqid 2734 . . . . . . . . . . . . . 14 (Vtx‘𝐺) = (Vtx‘𝐺)
54wlkp 29530 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
6 ffn 6703 . . . . . . . . . . . . . . 15 (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) → 𝑃 Fn (0...(♯‘𝐹)))
76adantl 481 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 𝑃 Fn (0...(♯‘𝐹)))
8 0elfz 13631 . . . . . . . . . . . . . . 15 ((♯‘𝐹) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐹)))
98adantr 480 . . . . . . . . . . . . . 14 (((♯‘𝐹) ∈ ℕ0𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺)) → 0 ∈ (0...(♯‘𝐹)))
10 nn0fz0 13632 . . . . . . . . . . . . . . . 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 6959 . . . . . . . . . 10 ((𝑃 Fn (0...(♯‘𝐹)) ∧ 0 ∈ (0...(♯‘𝐹)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐹))) → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1816, 17syl 17 . . . . . . . . 9 (𝐹(Trails‘𝐺)𝑃 → (𝑃 “ {0, (♯‘𝐹)}) = {(𝑃‘0), (𝑃‘(♯‘𝐹))})
1918ineq1d 4192 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 → ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))))
2019eqeq1d 2736 . . . . . . 7 (𝐹(Trails‘𝐺)𝑃 → (((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))
21 disj 4423 . . . . . . . 8 (({(𝑃‘0), (𝑃‘(♯‘𝐹))} ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ {(𝑃‘0), (𝑃‘(♯‘𝐹))} ¬ 𝑥 ∈ (𝑃 “ (1..^(♯‘𝐹))))
22 fvex 6886 . . . . . . . . . 10 (𝑃‘0) ∈ V
23 fvex 6886 . . . . . . . . . 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 4674 . . . . . . . . 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 4311 . . . . . . . . . . . 12 ¬ (𝑃‘(♯‘𝐹)) ∈ ∅
3938biantru 529 . . . . . . . . . . 11 (Fun (𝑃 ↾ ∅) ↔ (Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅))
4039bicomi 224 . . . . . . . . . 10 ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅))
4140a1i 11 . . . . . . . . 9 ((♯‘𝐹) = 0 → ((Fun (𝑃 ↾ ∅) ∧ ¬ (𝑃‘(♯‘𝐹)) ∈ ∅) ↔ Fun (𝑃 ↾ ∅)))
42 oveq2 7408 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 0 → (1..^(♯‘𝐹)) = (1..^0))
43 0le1 11753 . . . . . . . . . . . . . . 15 0 ≤ 1
44 1z 12615 . . . . . . . . . . . . . . . 16 1 ∈ ℤ
45 0z 12592 . . . . . . . . . . . . . . . 16 0 ∈ ℤ
46 fzon 13687 . . . . . . . . . . . . . . . 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 5964 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5150cnveqd 5853 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1..^(♯‘𝐹))) = (𝑃 ↾ ∅))
5251funeqd 6555 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (Fun (𝑃 ↾ (1..^(♯‘𝐹))) ↔ Fun (𝑃 ↾ ∅)))
5349imaeq2d 6045 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (𝑃 “ (1..^(♯‘𝐹))) = (𝑃 “ ∅))
54 ima0 6062 . . . . . . . . . . . . 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 7408 . . . . . . . . . . . . 13 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = (1...0))
60 fz10 13552 . . . . . . . . . . . . 13 (1...0) = ∅
6159, 60eqtrdi 2785 . . . . . . . . . . . 12 ((♯‘𝐹) = 0 → (1...(♯‘𝐹)) = ∅)
6261reseq2d 5964 . . . . . . . . . . 11 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6362cnveqd 5853 . . . . . . . . . 10 ((♯‘𝐹) = 0 → (𝑃 ↾ (1...(♯‘𝐹))) = (𝑃 ↾ ∅))
6463funeqd 6555 . . . . . . . . 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 29611 . . . . . . . . . . . 12 (𝐹(Trails‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
713, 10sylib 218 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
72 fzonel 13680 . . . . . . . . . . . . . . 15 ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹))
7372a1i 11 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → ¬ (♯‘𝐹) ∈ (1..^(♯‘𝐹)))
7471, 73eldifd 3935 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))))
75 1eluzge0 12901 . . . . . . . . . . . . . . 15 1 ∈ (ℤ‘0)
76 fzoss1 13693 . . . . . . . . . . . . . . 15 (1 ∈ (ℤ‘0) → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
7775, 76mp1i 13 . . . . . . . . . . . . . 14 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹)))
78 fzossfz 13685 . . . . . . . . . . . . . 14 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
7977, 78sstrdi 3969 . . . . . . . . . . . . 13 (𝐹(Walks‘𝐺)𝑃 → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
805, 74, 793jca 1128 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺) ∧ (♯‘𝐹) ∈ ((0...(♯‘𝐹)) ∖ (1..^(♯‘𝐹))) ∧ (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))))
81 resf1ext2b 7926 . . . . . . . . . . . 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 12508 . . . . . . . . . . . . . . . . . 18 ((♯‘𝐹) ∈ ℕ ↔ ((♯‘𝐹) ∈ ℕ0 ∧ (♯‘𝐹) ≠ 0))
86 elnnuz 12889 . . . . . . . . . . . . . . . . . 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 13785 . . . . . . . . . . . . . 14 ((♯‘𝐹) ∈ (ℤ‘1) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9290, 91syl 17 . . . . . . . . . . . . 13 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (1...(♯‘𝐹)) = ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}))
9392eqcomd 2740 . . . . . . . . . . . 12 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)}) = (1...(♯‘𝐹)))
9493reseq2d 5964 . . . . . . . . . . 11 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9594cnveqd 5853 . . . . . . . . . 10 (((♯‘𝐹) ≠ 0 ∧ 𝐹(Trails‘𝐺)𝑃) → (𝑃 ↾ ((1..^(♯‘𝐹)) ∪ {(♯‘𝐹)})) = (𝑃 ↾ (1...(♯‘𝐹))))
9695funeqd 6555 . . . . . . . . 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 3921  cun 3922  cin 3923  wss 3924  c0 4306  {csn 4599  {cpr 4601   class class class wbr 5117  ccnv 5651  cres 5654  cima 5655  Fun wfun 6522   Fn wfn 6523  wf 6524  cfv 6528  (class class class)co 7400  0cc0 11122  1c1 11123  cle 11263  cn 12233  0cn0 12494  cz 12581  cuz 12845  ...cfz 13514  ..^cfzo 13661  chash 14338  Vtxcvtx 28909  Walkscwlks 29510  Trailsctrls 29604  Pathscpths 29626
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 5247  ax-sep 5264  ax-nul 5274  ax-pow 5333  ax-pr 5400  ax-un 7724  ax-cnex 11178  ax-resscn 11179  ax-1cn 11180  ax-icn 11181  ax-addcl 11182  ax-addrcl 11183  ax-mulcl 11184  ax-mulrcl 11185  ax-mulcom 11186  ax-addass 11187  ax-mulass 11188  ax-distr 11189  ax-i2m1 11190  ax-1ne0 11191  ax-1rid 11192  ax-rnegex 11193  ax-rrecex 11194  ax-cnre 11195  ax-pre-lttri 11196  ax-pre-lttrn 11197  ax-pre-ltadd 11198  ax-pre-mulgt0 11199
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 3358  df-rab 3414  df-v 3459  df-sbc 3764  df-csb 3873  df-dif 3927  df-un 3929  df-in 3931  df-ss 3941  df-pss 3944  df-nul 4307  df-if 4499  df-pw 4575  df-sn 4600  df-pr 4602  df-op 4606  df-uni 4882  df-int 4921  df-iun 4967  df-br 5118  df-opab 5180  df-mpt 5200  df-tr 5228  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5658  df-rel 5659  df-cnv 5660  df-co 5661  df-dm 5662  df-rn 5663  df-res 5664  df-ima 5665  df-pred 6288  df-ord 6353  df-on 6354  df-lim 6355  df-suc 6356  df-iota 6481  df-fun 6530  df-fn 6531  df-f 6532  df-f1 6533  df-fo 6534  df-f1o 6535  df-fv 6536  df-riota 7357  df-ov 7403  df-oprab 7404  df-mpo 7405  df-om 7857  df-1st 7983  df-2nd 7984  df-frecs 8275  df-wrecs 8306  df-recs 8380  df-rdg 8419  df-1o 8475  df-er 8714  df-map 8837  df-en 8955  df-dom 8956  df-sdom 8957  df-fin 8958  df-card 9946  df-pnf 11264  df-mnf 11265  df-xr 11266  df-ltxr 11267  df-le 11268  df-sub 11461  df-neg 11462  df-nn 12234  df-n0 12495  df-z 12582  df-uz 12846  df-fz 13515  df-fzo 13662  df-hash 14339  df-word 14522  df-wlks 29513  df-trls 29606  df-pths 29630
This theorem is referenced by:  pthdifv  29646
  Copyright terms: Public domain W3C validator