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

Theorem wspthsnwspthsnon 27056
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 26975 . 2 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
2 wwlksnwwlksnon.v . . . . 5 𝑉 = (Vtx‘𝐺)
32wwlksnwwlksnon 27055 . . . 4 (𝑊 ∈ (𝑁 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))
43anbi1i 733 . . 3 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
5 r19.41vv 3230 . . 3 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
64, 5bitr4i 267 . 2 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
7 3anass 1081 . . . . . . . 8 ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
87a1i 11 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
9 vex 3344 . . . . . . . 8 𝑓 ∈ V
102isspthonpth 26877 . . . . . . . 8 (((𝑎𝑉𝑏𝑉) ∧ (𝑓 ∈ V ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
119, 10mpanr1 721 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
12 spthiswlk 26856 . . . . . . . . . 10 (𝑓(SPaths‘𝐺)𝑊𝑓(Walks‘𝐺)𝑊)
13 wlklenvm1 26749 . . . . . . . . . 10 (𝑓(Walks‘𝐺)𝑊 → (♯‘𝑓) = ((♯‘𝑊) − 1))
14 wwlknon 26985 . . . . . . . . . . . . 13 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏))
15 simpl2 1230 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘0) = 𝑎)
16 simpr 479 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = ((♯‘𝑊) − 1))
17 wwlknbp1 26969 . . . . . . . . . . . . . . . . . . . . 21 (𝑊 ∈ (𝑁 WWalksN 𝐺) → (𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)))
18 oveq1 6822 . . . . . . . . . . . . . . . . . . . . . . 23 ((♯‘𝑊) = (𝑁 + 1) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
19183ad2ant3 1130 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
20 nn0cn 11515 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
21 pncan1 10667 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℂ → ((𝑁 + 1) − 1) = 𝑁)
2220, 21syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ ℕ0 → ((𝑁 + 1) − 1) = 𝑁)
23223ad2ant1 1128 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((𝑁 + 1) − 1) = 𝑁)
2419, 23eqtrd 2795 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = 𝑁)
2517, 24syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑊 ∈ (𝑁 WWalksN 𝐺) → ((♯‘𝑊) − 1) = 𝑁)
26253ad2ant1 1128 . . . . . . . . . . . . . . . . . . 19 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑊) − 1) = 𝑁)
2726adantr 472 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((♯‘𝑊) − 1) = 𝑁)
2816, 27eqtrd 2795 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = 𝑁)
2928fveq2d 6358 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = (𝑊𝑁))
30 simpl3 1232 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊𝑁) = 𝑏)
3129, 30eqtrd 2795 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = 𝑏)
3215, 31jca 555 . . . . . . . . . . . . . 14 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))
3332ex 449 . . . . . . . . . . . . 13 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3414, 33sylbi 207 . . . . . . . . . . . 12 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3534adantl 473 . . . . . . . . . . 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 669 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
408, 11, 393bitr4rd 301 . . . . . 6 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4140exbidv 2000 . . . . 5 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (∃𝑓 𝑓(SPaths‘𝐺)𝑊 ↔ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4241pm5.32da 676 . . . 4 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊)))
43 wspthnon 26986 . . . 4 (𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4442, 43syl6bbr 278 . . 3 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏)))
45442rexbiia 3194 . 2 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
461, 6, 453bitri 286 1 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383  w3a 1072   = wceq 1632  wex 1853  wcel 2140  wrex 3052  Vcvv 3341   class class class wbr 4805  cfv 6050  (class class class)co 6815  cc 10147  0cc0 10149  1c1 10150   + caddc 10152  cmin 10479  0cn0 11505  chash 13332  Word cword 13498  Vtxcvtx 26095  Walkscwlks 26724  SPathscspths 26841  SPathsOncspthson 26843   WWalksN cwwlksn 26951   WWalksNOn cwwlksnon 26952   WSPathsN cwwspthsn 26953   WSPathsNOn cwwspthsnon 26954
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1989  ax-6 2055  ax-7 2091  ax-8 2142  ax-9 2149  ax-10 2169  ax-11 2184  ax-12 2197  ax-13 2392  ax-ext 2741  ax-rep 4924  ax-sep 4934  ax-nul 4942  ax-pow 4993  ax-pr 5056  ax-un 7116  ax-cnex 10205  ax-resscn 10206  ax-1cn 10207  ax-icn 10208  ax-addcl 10209  ax-addrcl 10210  ax-mulcl 10211  ax-mulrcl 10212  ax-mulcom 10213  ax-addass 10214  ax-mulass 10215  ax-distr 10216  ax-i2m1 10217  ax-1ne0 10218  ax-1rid 10219  ax-rnegex 10220  ax-rrecex 10221  ax-cnre 10222  ax-pre-lttri 10223  ax-pre-lttrn 10224  ax-pre-ltadd 10225  ax-pre-mulgt0 10226
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-ifp 1051  df-3or 1073  df-3an 1074  df-tru 1635  df-fal 1638  df-ex 1854  df-nf 1859  df-sb 2048  df-eu 2612  df-mo 2613  df-clab 2748  df-cleq 2754  df-clel 2757  df-nfc 2892  df-ne 2934  df-nel 3037  df-ral 3056  df-rex 3057  df-reu 3058  df-rab 3060  df-v 3343  df-sbc 3578  df-csb 3676  df-dif 3719  df-un 3721  df-in 3723  df-ss 3730  df-pss 3732  df-nul 4060  df-if 4232  df-pw 4305  df-sn 4323  df-pr 4325  df-tp 4327  df-op 4329  df-uni 4590  df-int 4629  df-iun 4675  df-br 4806  df-opab 4866  df-mpt 4883  df-tr 4906  df-id 5175  df-eprel 5180  df-po 5188  df-so 5189  df-fr 5226  df-we 5228  df-xp 5273  df-rel 5274  df-cnv 5275  df-co 5276  df-dm 5277  df-rn 5278  df-res 5279  df-ima 5280  df-pred 5842  df-ord 5888  df-on 5889  df-lim 5890  df-suc 5891  df-iota 6013  df-fun 6052  df-fn 6053  df-f 6054  df-f1 6055  df-fo 6056  df-f1o 6057  df-fv 6058  df-riota 6776  df-ov 6818  df-oprab 6819  df-mpt2 6820  df-om 7233  df-1st 7335  df-2nd 7336  df-wrecs 7578  df-recs 7639  df-rdg 7677  df-1o 7731  df-oadd 7735  df-er 7914  df-map 8028  df-pm 8029  df-en 8125  df-dom 8126  df-sdom 8127  df-fin 8128  df-card 8976  df-pnf 10289  df-mnf 10290  df-xr 10291  df-ltxr 10292  df-le 10293  df-sub 10481  df-neg 10482  df-nn 11234  df-n0 11506  df-z 11591  df-uz 11901  df-fz 12541  df-fzo 12681  df-hash 13333  df-word 13506  df-wlks 26727  df-wlkson 26728  df-trls 26821  df-trlson 26822  df-pths 26844  df-spths 26845  df-spthson 26847  df-wwlks 26955  df-wwlksn 26956  df-wwlksnon 26957  df-wspthsn 26958  df-wspthsnon 26959
This theorem is referenced by:  wspniunwspnon  27065  elwspths2spth  27111  fusgr2wsp2nb  27510
  Copyright terms: Public domain W3C validator