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

Theorem wspthsnwspthsnon 30006
Description: A simple path of fixed length is a simple path of fixed length between two vertices. (Contributed by Alexander van der Vekens, 1-Mar-2018.) (Revised by AV, 16-May-2021.) (Revised by AV, 13-Mar-2022.)
Hypothesis
Ref Expression
wwlksnwwlksnon.v 𝑉 = (Vtx‘𝐺)
Assertion
Ref Expression
wspthsnwspthsnon (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
Distinct variable groups:   𝐺,𝑎,𝑏   𝑁,𝑎,𝑏   𝑉,𝑎,𝑏   𝑊,𝑎,𝑏

Proof of Theorem wspthsnwspthsnon
Dummy variable 𝑓 is distinct from all other variables.
StepHypRef Expression
1 iswspthn 29939 . 2 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
2 wwlksnwwlksnon.v . . . . 5 𝑉 = (Vtx‘𝐺)
32wwlksnwwlksnon 30005 . . . 4 (𝑊 ∈ (𝑁 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))
43anbi1i 631 . . 3 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
5 r19.41vv 3211 . . 3 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
64, 5bitr4i 280 . 2 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
7 3anass 1101 . . . . . . . 8 ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
87a1i 11 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
9 vex 3437 . . . . . . . 8 𝑓 ∈ V
102isspthonpth 29839 . . . . . . . 8 (((𝑎𝑉𝑏𝑉) ∧ (𝑓 ∈ V ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
119, 10mpanr1 710 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
12 spthiswlk 29816 . . . . . . . . . 10 (𝑓(SPaths‘𝐺)𝑊𝑓(Walks‘𝐺)𝑊)
13 wlklenvm1 29712 . . . . . . . . . 10 (𝑓(Walks‘𝐺)𝑊 → (♯‘𝑓) = ((♯‘𝑊) − 1))
14 wwlknon 29947 . . . . . . . . . . . . 13 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏))
15 simpl2 1200 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘0) = 𝑎)
16 simpr 486 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = ((♯‘𝑊) − 1))
17 wwlknbp1 29934 . . . . . . . . . . . . . . . . . . . . 21 (𝑊 ∈ (𝑁 WWalksN 𝐺) → (𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)))
18 oveq1 7367 . . . . . . . . . . . . . . . . . . . . . . 23 ((♯‘𝑊) = (𝑁 + 1) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
19183ad2ant3 1142 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
20 nn0cn 12442 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
21 pncan1 11569 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℂ → ((𝑁 + 1) − 1) = 𝑁)
2220, 21syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ ℕ0 → ((𝑁 + 1) − 1) = 𝑁)
23223ad2ant1 1140 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((𝑁 + 1) − 1) = 𝑁)
2419, 23eqtrd 2776 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = 𝑁)
2517, 24syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑊 ∈ (𝑁 WWalksN 𝐺) → ((♯‘𝑊) − 1) = 𝑁)
26253ad2ant1 1140 . . . . . . . . . . . . . . . . . . 19 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑊) − 1) = 𝑁)
2726adantr 482 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((♯‘𝑊) − 1) = 𝑁)
2816, 27eqtrd 2776 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = 𝑁)
2928fveq2d 6835 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = (𝑊𝑁))
30 simpl3 1201 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊𝑁) = 𝑏)
3129, 30eqtrd 2776 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = 𝑏)
3215, 31jca 517 . . . . . . . . . . . . . 14 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))
3332ex 414 . . . . . . . . . . . . 13 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3414, 33sylbi 219 . . . . . . . . . . . 12 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3534adantl 483 . . . . . . . . . . 11 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3635com12 32 . . . . . . . . . 10 ((♯‘𝑓) = ((♯‘𝑊) − 1) → (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3712, 13, 363syl 18 . . . . . . . . 9 (𝑓(SPaths‘𝐺)𝑊 → (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3837com12 32 . . . . . . . 8 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊 → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3938pm4.71d 567 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
408, 11, 393bitr4rd 314 . . . . . 6 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4140exbidv 1929 . . . . 5 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (∃𝑓 𝑓(SPaths‘𝐺)𝑊 ↔ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4241pm5.32da 585 . . . 4 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊)))
43 wspthnon 29948 . . . 4 (𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4442, 43bitr4di 291 . . 3 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏)))
45442rexbiia 3202 . 2 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
461, 6, 453bitri 299 1 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 397  w3a 1093   = wceq 1548  wex 1787  wcel 2121  wrex 3065  Vcvv 3433   class class class wbr 5075  cfv 6489  (class class class)co 7360  cc 11031  0cc0 11033  1c1 11034   + caddc 11036  cmin 11372  0cn0 12432  chash 14287  Word cword 14470  Vtxcvtx 29087  Walkscwlks 29687  SPathscspths 29801  SPathsOncspthson 29803   WWalksN cwwlksn 29916   WWalksNOn cwwlksnon 29917   WSPathsN cwwspthsn 29918   WSPathsNOn cwwspthsnon 29919
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1975  ax-7 2016  ax-8 2123  ax-9 2131  ax-10 2154  ax-11 2170  ax-12 2191  ax-ext 2713  ax-rep 5202  ax-sep 5221  ax-nul 5231  ax-pow 5297  ax-pr 5365  ax-un 7682  ax-cnex 11089  ax-resscn 11090  ax-1cn 11091  ax-icn 11092  ax-addcl 11093  ax-addrcl 11094  ax-mulcl 11095  ax-mulrcl 11096  ax-mulcom 11097  ax-addass 11098  ax-mulass 11099  ax-distr 11100  ax-i2m1 11101  ax-1ne0 11102  ax-1rid 11103  ax-rnegex 11104  ax-rrecex 11105  ax-cnre 11106  ax-pre-lttri 11107  ax-pre-lttrn 11108  ax-pre-ltadd 11109  ax-pre-mulgt0 11110
This theorem depends on definitions:  df-bi 209  df-an 398  df-or 855  df-ifp 1070  df-3or 1094  df-3an 1095  df-tru 1551  df-fal 1561  df-ex 1788  df-nf 1792  df-sb 2075  df-mo 2545  df-eu 2575  df-clab 2720  df-cleq 2733  df-clel 2816  df-nfc 2890  df-ne 2937  df-nel 3041  df-ral 3056  df-rex 3066  df-reu 3347  df-rab 3394  df-v 3435  df-sbc 3726  df-csb 3834  df-dif 3888  df-un 3890  df-in 3892  df-ss 3902  df-pss 3905  df-nul 4265  df-if 4458  df-pw 4534  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4842  df-int 4881  df-iun 4926  df-br 5076  df-opab 5138  df-mpt 5157  df-tr 5183  df-id 5516  df-eprel 5521  df-po 5529  df-so 5530  df-fr 5574  df-we 5576  df-xp 5627  df-rel 5628  df-cnv 5629  df-co 5630  df-dm 5631  df-rn 5632  df-res 5633  df-ima 5634  df-pred 6256  df-ord 6317  df-on 6318  df-lim 6319  df-suc 6320  df-iota 6445  df-fun 6491  df-fn 6492  df-f 6493  df-f1 6494  df-fo 6495  df-f1o 6496  df-fv 6497  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-om 7811  df-1st 7935  df-2nd 7936  df-frecs 8225  df-wrecs 8256  df-recs 8305  df-rdg 8343  df-1o 8399  df-er 8637  df-map 8769  df-en 8888  df-dom 8889  df-sdom 8890  df-fin 8891  df-card 9858  df-pnf 11176  df-mnf 11177  df-xr 11178  df-ltxr 11179  df-le 11180  df-sub 11374  df-neg 11375  df-nn 12170  df-n0 12433  df-z 12520  df-uz 12784  df-fz 13457  df-fzo 13604  df-hash 14288  df-word 14471  df-wlks 29690  df-wlkson 29691  df-trls 29781  df-trlson 29782  df-pths 29804  df-spths 29805  df-spthson 29807  df-wwlks 29920  df-wwlksn 29921  df-wwlksnon 29922  df-wspthsn 29923  df-wspthsnon 29924
This theorem is referenced by:  wspniunwspnon  30013  elwspths2spth  30060  fusgr2wsp2nb  30426
  Copyright terms: Public domain W3C validator