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

Theorem wspthsnwspthsnon 30007
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 29940 . 2 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
2 wwlksnwwlksnon.v . . . . 5 𝑉 = (Vtx‘𝐺)
32wwlksnwwlksnon 30006 . . . 4 (𝑊 ∈ (𝑁 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))
43anbi1i 625 . . 3 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
5 r19.41vv 3208 . . 3 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
64, 5bitr4i 278 . 2 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊))
7 3anass 1095 . . . . . . . 8 ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
87a1i 11 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → ((𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏) ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
9 vex 3446 . . . . . . . 8 𝑓 ∈ V
102isspthonpth 29840 . . . . . . . 8 (((𝑎𝑉𝑏𝑉) ∧ (𝑓 ∈ V ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏))) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
119, 10mpanr1 704 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ (𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
12 spthiswlk 29817 . . . . . . . . . 10 (𝑓(SPaths‘𝐺)𝑊𝑓(Walks‘𝐺)𝑊)
13 wlklenvm1 29713 . . . . . . . . . 10 (𝑓(Walks‘𝐺)𝑊 → (♯‘𝑓) = ((♯‘𝑊) − 1))
14 wwlknon 29948 . . . . . . . . . . . . 13 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏))
15 simpl2 1194 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘0) = 𝑎)
16 simpr 484 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = ((♯‘𝑊) − 1))
17 wwlknbp1 29935 . . . . . . . . . . . . . . . . . . . . 21 (𝑊 ∈ (𝑁 WWalksN 𝐺) → (𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)))
18 oveq1 7377 . . . . . . . . . . . . . . . . . . . . . . 23 ((♯‘𝑊) = (𝑁 + 1) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
19183ad2ant3 1136 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = ((𝑁 + 1) − 1))
20 nn0cn 12425 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
21 pncan1 11575 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑁 ∈ ℂ → ((𝑁 + 1) − 1) = 𝑁)
2220, 21syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑁 ∈ ℕ0 → ((𝑁 + 1) − 1) = 𝑁)
23223ad2ant1 1134 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((𝑁 + 1) − 1) = 𝑁)
2419, 23eqtrd 2772 . . . . . . . . . . . . . . . . . . . . 21 ((𝑁 ∈ ℕ0𝑊 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑊) = (𝑁 + 1)) → ((♯‘𝑊) − 1) = 𝑁)
2517, 24syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑊 ∈ (𝑁 WWalksN 𝐺) → ((♯‘𝑊) − 1) = 𝑁)
26253ad2ant1 1134 . . . . . . . . . . . . . . . . . . 19 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑊) − 1) = 𝑁)
2726adantr 480 . . . . . . . . . . . . . . . . . 18 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((♯‘𝑊) − 1) = 𝑁)
2816, 27eqtrd 2772 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (♯‘𝑓) = 𝑁)
2928fveq2d 6848 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = (𝑊𝑁))
30 simpl3 1195 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊𝑁) = 𝑏)
3129, 30eqtrd 2772 . . . . . . . . . . . . . . 15 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → (𝑊‘(♯‘𝑓)) = 𝑏)
3215, 31jca 511 . . . . . . . . . . . . . 14 (((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) ∧ (♯‘𝑓) = ((♯‘𝑊) − 1)) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))
3332ex 412 . . . . . . . . . . . . 13 ((𝑊 ∈ (𝑁 WWalksN 𝐺) ∧ (𝑊‘0) = 𝑎 ∧ (𝑊𝑁) = 𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3414, 33sylbi 217 . . . . . . . . . . . 12 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) → ((♯‘𝑓) = ((♯‘𝑊) − 1) → ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏)))
3534adantl 481 . . . . . . . . . . 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 561 . . . . . . 7 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊 ↔ (𝑓(SPaths‘𝐺)𝑊 ∧ ((𝑊‘0) = 𝑎 ∧ (𝑊‘(♯‘𝑓)) = 𝑏))))
408, 11, 393bitr4rd 312 . . . . . 6 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (𝑓(SPaths‘𝐺)𝑊𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4140exbidv 1923 . . . . 5 (((𝑎𝑉𝑏𝑉) ∧ 𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏)) → (∃𝑓 𝑓(SPaths‘𝐺)𝑊 ↔ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4241pm5.32da 579 . . . 4 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊)))
43 wspthnon 29949 . . . 4 (𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏) ↔ (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(𝑎(SPathsOn‘𝐺)𝑏)𝑊))
4442, 43bitr4di 289 . . 3 ((𝑎𝑉𝑏𝑉) → ((𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏)))
45442rexbiia 3199 . 2 (∃𝑎𝑉𝑏𝑉 (𝑊 ∈ (𝑎(𝑁 WWalksNOn 𝐺)𝑏) ∧ ∃𝑓 𝑓(SPaths‘𝐺)𝑊) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
461, 6, 453bitri 297 1 (𝑊 ∈ (𝑁 WSPathsN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉 𝑊 ∈ (𝑎(𝑁 WSPathsNOn 𝐺)𝑏))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1542  wex 1781  wcel 2114  wrex 3062  Vcvv 3442   class class class wbr 5100  cfv 6502  (class class class)co 7370  cc 11038  0cc0 11040  1c1 11041   + caddc 11043  cmin 11378  0cn0 12415  chash 14267  Word cword 14450  Vtxcvtx 29087  Walkscwlks 29688  SPathscspths 29802  SPathsOncspthson 29804   WWalksN cwwlksn 29917   WWalksNOn cwwlksnon 29918   WSPathsN cwwspthsn 29919   WSPathsNOn cwwspthsnon 29920
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5245  ax-nul 5255  ax-pow 5314  ax-pr 5381  ax-un 7692  ax-cnex 11096  ax-resscn 11097  ax-1cn 11098  ax-icn 11099  ax-addcl 11100  ax-addrcl 11101  ax-mulcl 11102  ax-mulrcl 11103  ax-mulcom 11104  ax-addass 11105  ax-mulass 11106  ax-distr 11107  ax-i2m1 11108  ax-1ne0 11109  ax-1rid 11110  ax-rnegex 11111  ax-rrecex 11112  ax-cnre 11113  ax-pre-lttri 11114  ax-pre-lttrn 11115  ax-pre-ltadd 11116  ax-pre-mulgt0 11117
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-ifp 1064  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3063  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-pss 3923  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-int 4905  df-iun 4950  df-br 5101  df-opab 5163  df-mpt 5182  df-tr 5208  df-id 5529  df-eprel 5534  df-po 5542  df-so 5543  df-fr 5587  df-we 5589  df-xp 5640  df-rel 5641  df-cnv 5642  df-co 5643  df-dm 5644  df-rn 5645  df-res 5646  df-ima 5647  df-pred 6269  df-ord 6330  df-on 6331  df-lim 6332  df-suc 6333  df-iota 6458  df-fun 6504  df-fn 6505  df-f 6506  df-f1 6507  df-fo 6508  df-f1o 6509  df-fv 6510  df-riota 7327  df-ov 7373  df-oprab 7374  df-mpo 7375  df-om 7821  df-1st 7945  df-2nd 7946  df-frecs 8235  df-wrecs 8266  df-recs 8315  df-rdg 8353  df-1o 8409  df-er 8647  df-map 8779  df-en 8898  df-dom 8899  df-sdom 8900  df-fin 8901  df-card 9865  df-pnf 11182  df-mnf 11183  df-xr 11184  df-ltxr 11185  df-le 11186  df-sub 11380  df-neg 11381  df-nn 12160  df-n0 12416  df-z 12503  df-uz 12766  df-fz 13438  df-fzo 13585  df-hash 14268  df-word 14451  df-wlks 29691  df-wlkson 29692  df-trls 29782  df-trlson 29783  df-pths 29805  df-spths 29806  df-spthson 29808  df-wwlks 29921  df-wwlksn 29922  df-wwlksnon 29923  df-wspthsn 29924  df-wspthsnon 29925
This theorem is referenced by:  wspniunwspnon  30014  elwspths2spth  30061  fusgr2wsp2nb  30427
  Copyright terms: Public domain W3C validator