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

Theorem elwwlks2 28911
Description: A walk of length 2 between two vertices as length 3 string in a pseudograph. (Contributed by Alexander van der Vekens, 21-Feb-2018.) (Revised by AV, 17-May-2021.) (Proof shortened by AV, 14-Mar-2022.)
Hypothesis
Ref Expression
elwwlks2.v 𝑉 = (Vtx‘𝐺)
Assertion
Ref Expression
elwwlks2 (𝐺 ∈ UPGraph → (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
Distinct variable groups:   𝐺,𝑎,𝑏,𝑐,𝑓,𝑝   𝑉,𝑎,𝑏,𝑐,𝑓,𝑝   𝑊,𝑎,𝑏,𝑐,𝑓,𝑝

Proof of Theorem elwwlks2
StepHypRef Expression
1 elwwlks2.v . . . 4 𝑉 = (Vtx‘𝐺)
21wwlksnwwlksnon 28860 . . 3 (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐))
32a1i 11 . 2 (𝐺 ∈ UPGraph → (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐)))
41elwwlks2on 28904 . . . 4 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉𝑐𝑉) → (𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
543expb 1120 . . 3 ((𝐺 ∈ UPGraph ∧ (𝑎𝑉𝑐𝑉)) → (𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
652rexbidva 3211 . 2 (𝐺 ∈ UPGraph → (∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑎𝑉𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
7 rexcom 3273 . . . 4 (∃𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8 s3cli 14770 . . . . . . . . . 10 ⟨“𝑎𝑏𝑐”⟩ ∈ Word V
98a1i 11 . . . . . . . . 9 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ⟨“𝑎𝑏𝑐”⟩ ∈ Word V)
10 simplr 767 . . . . . . . . . . . . . . . . 17 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
11 simpr 485 . . . . . . . . . . . . . . . . 17 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑝 = ⟨“𝑎𝑏𝑐”⟩)
1210, 11eqtr4d 2779 . . . . . . . . . . . . . . . 16 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑊 = 𝑝)
1312breq2d 5117 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊𝑓(Walks‘𝐺)𝑝))
1413biimpd 228 . . . . . . . . . . . . . 14 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊𝑓(Walks‘𝐺)𝑝))
1514com12 32 . . . . . . . . . . . . 13 (𝑓(Walks‘𝐺)𝑊 → (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑓(Walks‘𝐺)𝑝))
1615adantr 481 . . . . . . . . . . . 12 ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑓(Walks‘𝐺)𝑝))
1716impcom 408 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → 𝑓(Walks‘𝐺)𝑝)
18 simprr 771 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (♯‘𝑓) = 2)
19 vex 3449 . . . . . . . . . . . . . . . 16 𝑎 ∈ V
20 s3fv0 14780 . . . . . . . . . . . . . . . . 17 (𝑎 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘0) = 𝑎)
2120eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑎 ∈ V → 𝑎 = (⟨“𝑎𝑏𝑐”⟩‘0))
2219, 21mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑎 = (⟨“𝑎𝑏𝑐”⟩‘0))
23 fveq1 6841 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘0) = (⟨“𝑎𝑏𝑐”⟩‘0))
2422, 23eqtr4d 2779 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑎 = (𝑝‘0))
25 vex 3449 . . . . . . . . . . . . . . . 16 𝑏 ∈ V
26 s3fv1 14781 . . . . . . . . . . . . . . . . 17 (𝑏 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘1) = 𝑏)
2726eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑏 ∈ V → 𝑏 = (⟨“𝑎𝑏𝑐”⟩‘1))
2825, 27mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑏 = (⟨“𝑎𝑏𝑐”⟩‘1))
29 fveq1 6841 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘1) = (⟨“𝑎𝑏𝑐”⟩‘1))
3028, 29eqtr4d 2779 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑏 = (𝑝‘1))
31 vex 3449 . . . . . . . . . . . . . . . 16 𝑐 ∈ V
32 s3fv2 14782 . . . . . . . . . . . . . . . . 17 (𝑐 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘2) = 𝑐)
3332eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑐 ∈ V → 𝑐 = (⟨“𝑎𝑏𝑐”⟩‘2))
3431, 33mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑐 = (⟨“𝑎𝑏𝑐”⟩‘2))
35 fveq1 6841 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘2) = (⟨“𝑎𝑏𝑐”⟩‘2))
3634, 35eqtr4d 2779 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑐 = (𝑝‘2))
3724, 30, 363jca 1128 . . . . . . . . . . . . 13 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
3837adantl 482 . . . . . . . . . . . 12 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
3938adantr 481 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
4017, 18, 393jca 1128 . . . . . . . . . 10 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))
4140ex 413 . . . . . . . . 9 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
429, 41spcimedv 3554 . . . . . . . 8 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → ∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
43 wlklenvp1 28566 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑓(Walks‘𝐺)𝑝 → (♯‘𝑝) = ((♯‘𝑓) + 1))
44 simpl 483 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = ((♯‘𝑓) + 1))
45 oveq1 7364 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((♯‘𝑓) = 2 → ((♯‘𝑓) + 1) = (2 + 1))
4645adantl 482 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → ((♯‘𝑓) + 1) = (2 + 1))
4744, 46eqtrd 2776 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = (2 + 1))
4847adantl 482 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑓(Walks‘𝐺)𝑝 ∧ ((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2)) → (♯‘𝑝) = (2 + 1))
49 2p1e3 12295 . . . . . . . . . . . . . . . . . . . . . . . . 25 (2 + 1) = 3
5048, 49eqtrdi 2792 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑓(Walks‘𝐺)𝑝 ∧ ((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2)) → (♯‘𝑝) = 3)
5150exp32 421 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑝) = ((♯‘𝑓) + 1) → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3)))
5243, 51mpd 15 . . . . . . . . . . . . . . . . . . . . . 22 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3))
5352adantr 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3))
5453imp 407 . . . . . . . . . . . . . . . . . . . 20 (((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = 3)
55 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑎 = (𝑝‘0) ↔ (𝑝‘0) = 𝑎)
5655biimpi 215 . . . . . . . . . . . . . . . . . . . . 21 (𝑎 = (𝑝‘0) → (𝑝‘0) = 𝑎)
57 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑏 = (𝑝‘1) ↔ (𝑝‘1) = 𝑏)
5857biimpi 215 . . . . . . . . . . . . . . . . . . . . 21 (𝑏 = (𝑝‘1) → (𝑝‘1) = 𝑏)
59 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑐 = (𝑝‘2) ↔ (𝑝‘2) = 𝑐)
6059biimpi 215 . . . . . . . . . . . . . . . . . . . . 21 (𝑐 = (𝑝‘2) → (𝑝‘2) = 𝑐)
6156, 58, 603anim123i 1151 . . . . . . . . . . . . . . . . . . . 20 ((𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)) → ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))
6254, 61anim12i 613 . . . . . . . . . . . . . . . . . . 19 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐)))
631wlkpwrd 28565 . . . . . . . . . . . . . . . . . . . . . 22 (𝑓(Walks‘𝐺)𝑝𝑝 ∈ Word 𝑉)
64 simpr 485 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → 𝑎𝑉)
6564anim1i 615 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → (𝑎𝑉 ∧ (𝑏𝑉𝑐𝑉)))
66 3anass 1095 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑎𝑉𝑏𝑉𝑐𝑉) ↔ (𝑎𝑉 ∧ (𝑏𝑉𝑐𝑉)))
6765, 66sylibr 233 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → (𝑎𝑉𝑏𝑉𝑐𝑉))
6867adantr 481 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (𝑎𝑉𝑏𝑉𝑐𝑉))
6963, 68anim12i 613 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → (𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)))
7069ad2antrr 724 . . . . . . . . . . . . . . . . . . . 20 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)))
71 eqwrds3 14850 . . . . . . . . . . . . . . . . . . . 20 ((𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)) → (𝑝 = ⟨“𝑎𝑏𝑐”⟩ ↔ ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))))
7270, 71syl 17 . . . . . . . . . . . . . . . . . . 19 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑝 = ⟨“𝑎𝑏𝑐”⟩ ↔ ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))))
7362, 72mpbird 256 . . . . . . . . . . . . . . . . . 18 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑝 = ⟨“𝑎𝑏𝑐”⟩)
74 simprr 771 . . . . . . . . . . . . . . . . . . 19 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
7574ad2antrr 724 . . . . . . . . . . . . . . . . . 18 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
7673, 75eqtr4d 2779 . . . . . . . . . . . . . . . . 17 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑝 = 𝑊)
7776breq2d 5117 . . . . . . . . . . . . . . . 16 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝𝑓(Walks‘𝐺)𝑊))
7877biimpd 228 . . . . . . . . . . . . . . 15 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝𝑓(Walks‘𝐺)𝑊))
79 simplr 767 . . . . . . . . . . . . . . 15 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (♯‘𝑓) = 2)
8078, 79jctird 527 . . . . . . . . . . . . . 14 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8180exp41 435 . . . . . . . . . . . . 13 (𝑓(Walks‘𝐺)𝑝 → ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((♯‘𝑓) = 2 → ((𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)) → (𝑓(Walks‘𝐺)𝑝 → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))))
8281com25 99 . . . . . . . . . . . 12 (𝑓(Walks‘𝐺)𝑝 → (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)) → ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))))
8382pm2.43i 52 . . . . . . . . . . 11 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)) → ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))))
84833imp 1111 . . . . . . . . . 10 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8584com12 32 . . . . . . . . 9 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8685exlimdv 1936 . . . . . . . 8 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8742, 86impbid 211 . . . . . . 7 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) ↔ ∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
8887exbidv 1924 . . . . . 6 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) ↔ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
8988pm5.32da 579 . . . . 5 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → ((𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
90892rexbidva 3211 . . . 4 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → (∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
917, 90bitrid 282 . . 3 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → (∃𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
9291rexbidva 3173 . 2 (𝐺 ∈ UPGraph → (∃𝑎𝑉𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
933, 6, 923bitrd 304 1 (𝐺 ∈ UPGraph → (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1087   = wceq 1541  wex 1781  wcel 2106  wrex 3073  Vcvv 3445   class class class wbr 5105  cfv 6496  (class class class)co 7357  0cc0 11051  1c1 11052   + caddc 11054  2c2 12208  3c3 12209  chash 14230  Word cword 14402  ⟨“cs3 14731  Vtxcvtx 27947  UPGraphcupgr 28031  Walkscwlks 28544   WWalksN cwwlksn 28771   WWalksNOn cwwlksnon 28772
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2707  ax-rep 5242  ax-sep 5256  ax-nul 5263  ax-pow 5320  ax-pr 5384  ax-un 7672  ax-ac2 10399  ax-cnex 11107  ax-resscn 11108  ax-1cn 11109  ax-icn 11110  ax-addcl 11111  ax-addrcl 11112  ax-mulcl 11113  ax-mulrcl 11114  ax-mulcom 11115  ax-addass 11116  ax-mulass 11117  ax-distr 11118  ax-i2m1 11119  ax-1ne0 11120  ax-1rid 11121  ax-rnegex 11122  ax-rrecex 11123  ax-cnre 11124  ax-pre-lttri 11125  ax-pre-lttrn 11126  ax-pre-ltadd 11127  ax-pre-mulgt0 11128
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-ifp 1062  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2889  df-ne 2944  df-nel 3050  df-ral 3065  df-rex 3074  df-rmo 3353  df-reu 3354  df-rab 3408  df-v 3447  df-sbc 3740  df-csb 3856  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-pss 3929  df-nul 4283  df-if 4487  df-pw 4562  df-sn 4587  df-pr 4589  df-tp 4591  df-op 4593  df-uni 4866  df-int 4908  df-iun 4956  df-br 5106  df-opab 5168  df-mpt 5189  df-tr 5223  df-id 5531  df-eprel 5537  df-po 5545  df-so 5546  df-fr 5588  df-se 5589  df-we 5590  df-xp 5639  df-rel 5640  df-cnv 5641  df-co 5642  df-dm 5643  df-rn 5644  df-res 5645  df-ima 5646  df-pred 6253  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-isom 6505  df-riota 7313  df-ov 7360  df-oprab 7361  df-mpo 7362  df-om 7803  df-1st 7921  df-2nd 7922  df-frecs 8212  df-wrecs 8243  df-recs 8317  df-rdg 8356  df-1o 8412  df-2o 8413  df-oadd 8416  df-er 8648  df-map 8767  df-pm 8768  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-dju 9837  df-card 9875  df-ac 10052  df-pnf 11191  df-mnf 11192  df-xr 11193  df-ltxr 11194  df-le 11195  df-sub 11387  df-neg 11388  df-nn 12154  df-2 12216  df-3 12217  df-n0 12414  df-xnn0 12486  df-z 12500  df-uz 12764  df-fz 13425  df-fzo 13568  df-hash 14231  df-word 14403  df-concat 14459  df-s1 14484  df-s2 14737  df-s3 14738  df-edg 27999  df-uhgr 28009  df-upgr 28033  df-wlks 28547  df-wwlks 28775  df-wwlksn 28776  df-wwlksnon 28777
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator