![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > ispth | Structured version Visualization version GIF version |
Description: Conditions for a pair of classes/functions to be a path (in an undirected graph). (Contributed by Alexander van der Vekens, 21-Oct-2017.) (Revised by AV, 9-Jan-2021.) (Revised by AV, 29-Oct-2021.) |
Ref | Expression |
---|---|
ispth | ⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | pthsfval 26975 | . . . 4 ⊢ (Paths‘𝐺) = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅)} | |
2 | 3anass 1117 | . . . . 5 ⊢ ((𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅) ↔ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))) | |
3 | 2 | opabbii 4910 | . . . 4 ⊢ {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅)} = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))} |
4 | 1, 3 | eqtri 2821 | . . 3 ⊢ (Paths‘𝐺) = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))} |
5 | simpr 478 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → 𝑝 = 𝑃) | |
6 | fveq2 6411 | . . . . . . . . 9 ⊢ (𝑓 = 𝐹 → (♯‘𝑓) = (♯‘𝐹)) | |
7 | 6 | oveq2d 6894 | . . . . . . . 8 ⊢ (𝑓 = 𝐹 → (1..^(♯‘𝑓)) = (1..^(♯‘𝐹))) |
8 | 7 | adantr 473 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (1..^(♯‘𝑓)) = (1..^(♯‘𝐹))) |
9 | 5, 8 | reseq12d 5601 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 ↾ (1..^(♯‘𝑓))) = (𝑃 ↾ (1..^(♯‘𝐹)))) |
10 | 9 | cnveqd 5501 | . . . . 5 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ◡(𝑝 ↾ (1..^(♯‘𝑓))) = ◡(𝑃 ↾ (1..^(♯‘𝐹)))) |
11 | 10 | funeqd 6123 | . . . 4 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ↔ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))))) |
12 | 6 | preq2d 4464 | . . . . . . . 8 ⊢ (𝑓 = 𝐹 → {0, (♯‘𝑓)} = {0, (♯‘𝐹)}) |
13 | 12 | adantr 473 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → {0, (♯‘𝑓)} = {0, (♯‘𝐹)}) |
14 | 5, 13 | imaeq12d 5684 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 “ {0, (♯‘𝑓)}) = (𝑃 “ {0, (♯‘𝐹)})) |
15 | 5, 8 | imaeq12d 5684 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 “ (1..^(♯‘𝑓))) = (𝑃 “ (1..^(♯‘𝐹)))) |
16 | 14, 15 | ineq12d 4013 | . . . . 5 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹))))) |
17 | 16 | eqeq1d 2801 | . . . 4 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅ ↔ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) |
18 | 11, 17 | anbi12d 625 | . . 3 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ((Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅) ↔ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) |
19 | reltrls 26947 | . . 3 ⊢ Rel (Trails‘𝐺) | |
20 | 4, 18, 19 | brfvopabrbr 6504 | . 2 ⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) |
21 | 3anass 1117 | . 2 ⊢ ((𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) | |
22 | 20, 21 | bitr4i 270 | 1 ⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) |
Colors of variables: wff setvar class |
Syntax hints: ↔ wb 198 ∧ wa 385 ∧ w3a 1108 = wceq 1653 ∩ cin 3768 ∅c0 4115 {cpr 4370 class class class wbr 4843 {copab 4905 ◡ccnv 5311 ↾ cres 5314 “ cima 5315 Fun wfun 6095 ‘cfv 6101 (class class class)co 6878 0cc0 10224 1c1 10225 ..^cfzo 12720 ♯chash 13370 Trailsctrls 26943 Pathscpths 26966 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1891 ax-4 1905 ax-5 2006 ax-6 2072 ax-7 2107 ax-8 2159 ax-9 2166 ax-10 2185 ax-11 2200 ax-12 2213 ax-13 2377 ax-ext 2777 ax-rep 4964 ax-sep 4975 ax-nul 4983 ax-pow 5035 ax-pr 5097 ax-un 7183 ax-cnex 10280 ax-resscn 10281 ax-1cn 10282 ax-icn 10283 ax-addcl 10284 ax-addrcl 10285 ax-mulcl 10286 ax-mulrcl 10287 ax-mulcom 10288 ax-addass 10289 ax-mulass 10290 ax-distr 10291 ax-i2m1 10292 ax-1ne0 10293 ax-1rid 10294 ax-rnegex 10295 ax-rrecex 10296 ax-cnre 10297 ax-pre-lttri 10298 ax-pre-lttrn 10299 ax-pre-ltadd 10300 ax-pre-mulgt0 10301 |
This theorem depends on definitions: df-bi 199 df-an 386 df-or 875 df-ifp 1087 df-3or 1109 df-3an 1110 df-tru 1657 df-ex 1876 df-nf 1880 df-sb 2065 df-mo 2591 df-eu 2609 df-clab 2786 df-cleq 2792 df-clel 2795 df-nfc 2930 df-ne 2972 df-nel 3075 df-ral 3094 df-rex 3095 df-reu 3096 df-rab 3098 df-v 3387 df-sbc 3634 df-csb 3729 df-dif 3772 df-un 3774 df-in 3776 df-ss 3783 df-pss 3785 df-nul 4116 df-if 4278 df-pw 4351 df-sn 4369 df-pr 4371 df-tp 4373 df-op 4375 df-uni 4629 df-int 4668 df-iun 4712 df-br 4844 df-opab 4906 df-mpt 4923 df-tr 4946 df-id 5220 df-eprel 5225 df-po 5233 df-so 5234 df-fr 5271 df-we 5273 df-xp 5318 df-rel 5319 df-cnv 5320 df-co 5321 df-dm 5322 df-rn 5323 df-res 5324 df-ima 5325 df-pred 5898 df-ord 5944 df-on 5945 df-lim 5946 df-suc 5947 df-iota 6064 df-fun 6103 df-fn 6104 df-f 6105 df-f1 6106 df-fo 6107 df-f1o 6108 df-fv 6109 df-riota 6839 df-ov 6881 df-oprab 6882 df-mpt2 6883 df-om 7300 df-1st 7401 df-2nd 7402 df-wrecs 7645 df-recs 7707 df-rdg 7745 df-1o 7799 df-er 7982 df-map 8097 df-pm 8098 df-en 8196 df-dom 8197 df-sdom 8198 df-fin 8199 df-card 9051 df-pnf 10365 df-mnf 10366 df-xr 10367 df-ltxr 10368 df-le 10369 df-sub 10558 df-neg 10559 df-nn 11313 df-n0 11581 df-z 11667 df-uz 11931 df-fz 12581 df-fzo 12721 df-hash 13371 df-word 13535 df-wlks 26849 df-trls 26945 df-pths 26970 |
This theorem is referenced by: pthistrl 26979 spthispth 26980 pthdivtx 26983 2pthnloop 26985 pthdepisspth 26989 pthd 27023 0pth 27469 1pthd 27487 |
Copyright terms: Public domain | W3C validator |