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

Theorem usgr2wspthons3 30475
Description: A simple path of length 2 between two vertices represented as length 3 string corresponds to two adjacent edges in a simple graph. (Contributed by Alexander van der Vekens, 8-Mar-2018.) (Revised by AV, 17-May-2021.) (Proof shortened by AV, 16-Mar-2022.) (Revised by Ender Ting, 29-Jan-2026.)
Hypotheses
Ref Expression
usgr2wspthon0.v 𝑉 = (Vtx‘𝐺)
usgr2wspthon0.e 𝐸 = (Edg‘𝐺)
Assertion
Ref Expression
usgr2wspthons3 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ (𝐴𝐶 ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))

Proof of Theorem usgr2wspthons3
StepHypRef Expression
1 2nn 12371 . . . . . . 7 2 ∈ ℕ
2 ne0i 4287 . . . . . . 7 (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → (𝐴(2 WSPathsNOn 𝐺)𝐶) ≠ ∅)
3 wspthsnonn0vne 30425 . . . . . . 7 ((2 ∈ ℕ ∧ (𝐴(2 WSPathsNOn 𝐺)𝐶) ≠ ∅) → 𝐴𝐶)
41, 2, 3sylancr 599 . . . . . 6 (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → 𝐴𝐶)
5 simplr 781 . . . . . . . . 9 (((𝐺 ∈ USGraph ∧ 𝐴𝐶) ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶)) → 𝐴𝐶)
6 wpthswwlks2on 30472 . . . . . . . . . . 11 ((𝐺 ∈ USGraph ∧ 𝐴𝐶) → (𝐴(2 WSPathsNOn 𝐺)𝐶) = (𝐴(2 WWalksNOn 𝐺)𝐶))
76eleq2d 2846 . . . . . . . . . 10 ((𝐺 ∈ USGraph ∧ 𝐴𝐶) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)))
87biimpa 482 . . . . . . . . 9 (((𝐺 ∈ USGraph ∧ 𝐴𝐶) ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶)) → ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶))
95, 8jca 521 . . . . . . . 8 (((𝐺 ∈ USGraph ∧ 𝐴𝐶) ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶)) → (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)))
109exp31 425 . . . . . . 7 (𝐺 ∈ USGraph → (𝐴𝐶 → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)))))
1110com13 89 . . . . . 6 (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → (𝐴𝐶 → (𝐺 ∈ USGraph → (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)))))
124, 11mpd 16 . . . . 5 (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → (𝐺 ∈ USGraph → (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶))))
1312com12 33 . . . 4 (𝐺 ∈ USGraph → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) → (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶))))
147biimprd 251 . . . . 5 ((𝐺 ∈ USGraph ∧ 𝐴𝐶) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶) → ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶)))
1514expimpd 459 . . . 4 (𝐺 ∈ USGraph → ((𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)) → ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶)))
1613, 15impbid 215 . . 3 (𝐺 ∈ USGraph → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶))))
1716adantr 486 . 2 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ (𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶))))
18 usgr2wspthon0.v . . . . 5 𝑉 = (Vtx‘𝐺)
19 usgr2wspthon0.e . . . . 5 𝐸 = (Edg‘𝐺)
2018, 19usgrwwlks2on 30466 . . . 4 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶) ↔ ({𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
2120anbi2d 642 . . 3 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → ((𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)) ↔ (𝐴𝐶 ∧ ({𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸))))
22 3anass 1111 . . 3 ((𝐴𝐶 ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ↔ (𝐴𝐶 ∧ ({𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
2321, 22bitr4di 292 . 2 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → ((𝐴𝐶 ∧ ⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶)) ↔ (𝐴𝐶 ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
2417, 23bitrd 282 1 ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ (𝐴𝐶 ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2145  wne 2955  c0 4279  {cpr 4586  cfv 6528  (class class class)co 7409  cn 12290  2c2 12352  ⟨“cs3 14946  Vtxcvtx 29493  Edgcedg 29544  USGraphcusgr 29649   WWalksNOn cwwlksnon 30335   WSPathsNOn cwwspthsnon 30337
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7735  ax-cnex 11213  ax-resscn 11214  ax-1cn 11215  ax-icn 11216  ax-addcl 11217  ax-addrcl 11218  ax-mulcl 11219  ax-mulrcl 11220  ax-mulcom 11221  ax-addass 11222  ax-mulass 11223  ax-distr 11224  ax-i2m1 11225  ax-1ne0 11226  ax-1rid 11227  ax-rnegex 11228  ax-rrecex 11229  ax-cnre 11230  ax-pre-lttri 11231  ax-pre-lttrn 11232  ax-pre-ltadd 11233  ax-pre-mulgt0 11234
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-ifp 1079  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5543  df-eprel 5548  df-po 5556  df-so 5557  df-fr 5601  df-we 5603  df-xp 5654  df-rel 5655  df-cnv 5656  df-co 5657  df-dm 5658  df-rn 5659  df-res 5660  df-ima 5661  df-pred 6294  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6484  df-fun 6530  df-fn 6531  df-f 6532  df-f1 6533  df-fo 6534  df-f1o 6535  df-fv 6536  df-riota 7366  df-ov 7412  df-oprab 7413  df-mpo 7414  df-om 7862  df-1st 7985  df-2nd 7986  df-frecs 8278  df-wrecs 8309  df-recs 8358  df-rdg 8397  df-1o 8455  df-2o 8456  df-oadd 8459  df-er 8696  df-map 8828  df-pm 8829  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-dju 9939  df-card 9977  df-pnf 11302  df-mnf 11303  df-xr 11304  df-ltxr 11305  df-le 11306  df-sub 11500  df-neg 11501  df-nn 12291  df-2 12360  df-3 12361  df-n0 12562  df-xnn0 12635  df-z 12649  df-uz 12921  df-fz 13595  df-fzo 13743  df-hash 14428  df-word 14612  df-concat 14669  df-s1 14696  df-s2 14952  df-s3 14953  df-edg 29545  df-uhgr 29555  df-upgr 29579  df-umgr 29580  df-uspgr 29650  df-usgr 29651  df-wlks 30099  df-wlkson 30100  df-trls 30194  df-trlson 30195  df-pths 30218  df-spths 30219  df-pthson 30220  df-spthson 30221  df-wwlks 30338  df-wwlksn 30339  df-wwlksnon 30340  df-wspthsnon 30342
This theorem is used by:  usgr2wspthon  30476
  Copyright terms: Public domain W3C validator