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 27594 | . . . 4 ⊢ (Paths‘𝐺) = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅)} | |
2 | 3anass 1093 | . . . . 5 ⊢ ((𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅) ↔ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))) | |
3 | 2 | opabbii 5092 | . . . 4 ⊢ {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅)} = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))} |
4 | 1, 3 | eqtri 2782 | . . 3 ⊢ (Paths‘𝐺) = {〈𝑓, 𝑝〉 ∣ (𝑓(Trails‘𝐺)𝑝 ∧ (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅))} |
5 | simpr 489 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → 𝑝 = 𝑃) | |
6 | fveq2 6651 | . . . . . . . . 9 ⊢ (𝑓 = 𝐹 → (♯‘𝑓) = (♯‘𝐹)) | |
7 | 6 | oveq2d 7159 | . . . . . . . 8 ⊢ (𝑓 = 𝐹 → (1..^(♯‘𝑓)) = (1..^(♯‘𝐹))) |
8 | 7 | adantr 485 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (1..^(♯‘𝑓)) = (1..^(♯‘𝐹))) |
9 | 5, 8 | reseq12d 5817 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 ↾ (1..^(♯‘𝑓))) = (𝑃 ↾ (1..^(♯‘𝐹)))) |
10 | 9 | cnveqd 5708 | . . . . 5 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ◡(𝑝 ↾ (1..^(♯‘𝑓))) = ◡(𝑃 ↾ (1..^(♯‘𝐹)))) |
11 | 10 | funeqd 6350 | . . . 4 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ↔ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))))) |
12 | 6 | preq2d 4626 | . . . . . . . 8 ⊢ (𝑓 = 𝐹 → {0, (♯‘𝑓)} = {0, (♯‘𝐹)}) |
13 | 12 | adantr 485 | . . . . . . 7 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → {0, (♯‘𝑓)} = {0, (♯‘𝐹)}) |
14 | 5, 13 | imaeq12d 5895 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 “ {0, (♯‘𝑓)}) = (𝑃 “ {0, (♯‘𝐹)})) |
15 | 5, 8 | imaeq12d 5895 | . . . . . 6 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (𝑝 “ (1..^(♯‘𝑓))) = (𝑃 “ (1..^(♯‘𝐹)))) |
16 | 14, 15 | ineq12d 4114 | . . . . 5 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹))))) |
17 | 16 | eqeq1d 2761 | . . . 4 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → (((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅ ↔ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) |
18 | 11, 17 | anbi12d 634 | . . 3 ⊢ ((𝑓 = 𝐹 ∧ 𝑝 = 𝑃) → ((Fun ◡(𝑝 ↾ (1..^(♯‘𝑓))) ∧ ((𝑝 “ {0, (♯‘𝑓)}) ∩ (𝑝 “ (1..^(♯‘𝑓)))) = ∅) ↔ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) |
19 | reltrls 27568 | . . 3 ⊢ Rel (Trails‘𝐺) | |
20 | 4, 18, 19 | brfvopabrbr 6749 | . 2 ⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) |
21 | 3anass 1093 | . 2 ⊢ ((𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅) ↔ (𝐹(Trails‘𝐺)𝑃 ∧ (Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅))) | |
22 | 20, 21 | bitr4i 281 | 1 ⊢ (𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun ◡(𝑃 ↾ (1..^(♯‘𝐹))) ∧ ((𝑃 “ {0, (♯‘𝐹)}) ∩ (𝑃 “ (1..^(♯‘𝐹)))) = ∅)) |
Colors of variables: wff setvar class |
Syntax hints: ↔ wb 209 ∧ wa 400 ∧ w3a 1085 = wceq 1539 ∩ cin 3853 ∅c0 4221 {cpr 4517 class class class wbr 5025 {copab 5087 ◡ccnv 5516 ↾ cres 5519 “ cima 5520 Fun wfun 6322 ‘cfv 6328 (class class class)co 7143 0cc0 10560 1c1 10561 ..^cfzo 13067 ♯chash 13725 Trailsctrls 27564 Pathscpths 27585 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1798 ax-4 1812 ax-5 1912 ax-6 1971 ax-7 2016 ax-8 2114 ax-9 2122 ax-10 2143 ax-11 2159 ax-12 2176 ax-ext 2730 ax-rep 5149 ax-sep 5162 ax-nul 5169 ax-pow 5227 ax-pr 5291 ax-un 7452 ax-cnex 10616 ax-resscn 10617 ax-1cn 10618 ax-icn 10619 ax-addcl 10620 ax-addrcl 10621 ax-mulcl 10622 ax-mulrcl 10623 ax-mulcom 10624 ax-addass 10625 ax-mulass 10626 ax-distr 10627 ax-i2m1 10628 ax-1ne0 10629 ax-1rid 10630 ax-rnegex 10631 ax-rrecex 10632 ax-cnre 10633 ax-pre-lttri 10634 ax-pre-lttrn 10635 ax-pre-ltadd 10636 ax-pre-mulgt0 10637 |
This theorem depends on definitions: df-bi 210 df-an 401 df-or 846 df-ifp 1060 df-3or 1086 df-3an 1087 df-tru 1542 df-fal 1552 df-ex 1783 df-nf 1787 df-sb 2071 df-mo 2558 df-eu 2589 df-clab 2737 df-cleq 2751 df-clel 2831 df-nfc 2899 df-ne 2950 df-nel 3054 df-ral 3073 df-rex 3074 df-reu 3075 df-rab 3077 df-v 3409 df-sbc 3694 df-csb 3802 df-dif 3857 df-un 3859 df-in 3861 df-ss 3871 df-pss 3873 df-nul 4222 df-if 4414 df-pw 4489 df-sn 4516 df-pr 4518 df-tp 4520 df-op 4522 df-uni 4792 df-int 4832 df-iun 4878 df-br 5026 df-opab 5088 df-mpt 5106 df-tr 5132 df-id 5423 df-eprel 5428 df-po 5436 df-so 5437 df-fr 5476 df-we 5478 df-xp 5523 df-rel 5524 df-cnv 5525 df-co 5526 df-dm 5527 df-rn 5528 df-res 5529 df-ima 5530 df-pred 6119 df-ord 6165 df-on 6166 df-lim 6167 df-suc 6168 df-iota 6287 df-fun 6330 df-fn 6331 df-f 6332 df-f1 6333 df-fo 6334 df-f1o 6335 df-fv 6336 df-riota 7101 df-ov 7146 df-oprab 7147 df-mpo 7148 df-om 7573 df-1st 7686 df-2nd 7687 df-wrecs 7950 df-recs 8011 df-rdg 8049 df-er 8292 df-map 8411 df-en 8521 df-dom 8522 df-sdom 8523 df-fin 8524 df-card 9386 df-pnf 10700 df-mnf 10701 df-xr 10702 df-ltxr 10703 df-le 10704 df-sub 10895 df-neg 10896 df-nn 11660 df-n0 11920 df-z 12006 df-uz 12268 df-fz 12925 df-fzo 13068 df-hash 13726 df-word 13899 df-wlks 27473 df-trls 27566 df-pths 27589 |
This theorem is referenced by: pthistrl 27598 spthispth 27599 pthdivtx 27602 2pthnloop 27604 pthdepisspth 27608 pthd 27642 0pth 27994 1pthd 28012 pthhashvtx 32590 subgrpth 32597 |
Copyright terms: Public domain | W3C validator |