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

Theorem elwwlks2 30037
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 29983 . . 3 (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐))
32a1i 11 . 2 (𝐺 ∈ UPGraph → (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐)))
41elwwlks2on 30029 . . . 4 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉𝑐𝑉) → (𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
543expb 1121 . . 3 ((𝐺 ∈ UPGraph ∧ (𝑎𝑉𝑐𝑉)) → (𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
652rexbidva 3200 . 2 (𝐺 ∈ UPGraph → (∃𝑎𝑉𝑐𝑉 𝑊 ∈ (𝑎(2 WWalksNOn 𝐺)𝑐) ↔ ∃𝑎𝑉𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2))))
7 rexcom 3266 . . . 4 (∃𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8 s3cli 14843 . . . . . . . . . 10 ⟨“𝑎𝑏𝑐”⟩ ∈ Word V
98a1i 11 . . . . . . . . 9 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ⟨“𝑎𝑏𝑐”⟩ ∈ Word V)
10 simplr 769 . . . . . . . . . . . . . . . . 17 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
11 simpr 484 . . . . . . . . . . . . . . . . 17 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑝 = ⟨“𝑎𝑏𝑐”⟩)
1210, 11eqtr4d 2774 . . . . . . . . . . . . . . . 16 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑊 = 𝑝)
1312breq2d 5097 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊𝑓(Walks‘𝐺)𝑝))
1413biimpd 229 . . . . . . . . . . . . . 14 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑓(Walks‘𝐺)𝑊𝑓(Walks‘𝐺)𝑝))
1514com12 32 . . . . . . . . . . . . 13 (𝑓(Walks‘𝐺)𝑊 → (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑓(Walks‘𝐺)𝑝))
1615adantr 480 . . . . . . . . . . . 12 ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → 𝑓(Walks‘𝐺)𝑝))
1716impcom 407 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → 𝑓(Walks‘𝐺)𝑝)
18 simprr 773 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (♯‘𝑓) = 2)
19 vex 3433 . . . . . . . . . . . . . . . 16 𝑎 ∈ V
20 s3fv0 14853 . . . . . . . . . . . . . . . . 17 (𝑎 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘0) = 𝑎)
2120eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑎 ∈ V → 𝑎 = (⟨“𝑎𝑏𝑐”⟩‘0))
2219, 21mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑎 = (⟨“𝑎𝑏𝑐”⟩‘0))
23 fveq1 6839 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘0) = (⟨“𝑎𝑏𝑐”⟩‘0))
2422, 23eqtr4d 2774 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑎 = (𝑝‘0))
25 vex 3433 . . . . . . . . . . . . . . . 16 𝑏 ∈ V
26 s3fv1 14854 . . . . . . . . . . . . . . . . 17 (𝑏 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘1) = 𝑏)
2726eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑏 ∈ V → 𝑏 = (⟨“𝑎𝑏𝑐”⟩‘1))
2825, 27mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑏 = (⟨“𝑎𝑏𝑐”⟩‘1))
29 fveq1 6839 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘1) = (⟨“𝑎𝑏𝑐”⟩‘1))
3028, 29eqtr4d 2774 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑏 = (𝑝‘1))
31 vex 3433 . . . . . . . . . . . . . . . 16 𝑐 ∈ V
32 s3fv2 14855 . . . . . . . . . . . . . . . . 17 (𝑐 ∈ V → (⟨“𝑎𝑏𝑐”⟩‘2) = 𝑐)
3332eqcomd 2742 . . . . . . . . . . . . . . . 16 (𝑐 ∈ V → 𝑐 = (⟨“𝑎𝑏𝑐”⟩‘2))
3431, 33mp1i 13 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑐 = (⟨“𝑎𝑏𝑐”⟩‘2))
35 fveq1 6839 . . . . . . . . . . . . . . 15 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑝‘2) = (⟨“𝑎𝑏𝑐”⟩‘2))
3634, 35eqtr4d 2774 . . . . . . . . . . . . . 14 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → 𝑐 = (𝑝‘2))
3724, 30, 363jca 1129 . . . . . . . . . . . . 13 (𝑝 = ⟨“𝑎𝑏𝑐”⟩ → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
3837adantl 481 . . . . . . . . . . . 12 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
3938adantr 480 . . . . . . . . . . 11 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))
4017, 18, 393jca 1129 . . . . . . . . . 10 ((((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) ∧ (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) → (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))
4140ex 412 . . . . . . . . 9 (((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) ∧ 𝑝 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
429, 41spcimedv 3537 . . . . . . . 8 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) → ∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
43 wlklenvp1 29687 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑓(Walks‘𝐺)𝑝 → (♯‘𝑝) = ((♯‘𝑓) + 1))
44 simpl 482 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = ((♯‘𝑓) + 1))
45 oveq1 7374 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((♯‘𝑓) = 2 → ((♯‘𝑓) + 1) = (2 + 1))
4645adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → ((♯‘𝑓) + 1) = (2 + 1))
4744, 46eqtrd 2771 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = (2 + 1))
4847adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑓(Walks‘𝐺)𝑝 ∧ ((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2)) → (♯‘𝑝) = (2 + 1))
49 2p1e3 12318 . . . . . . . . . . . . . . . . . . . . . . . . 25 (2 + 1) = 3
5048, 49eqtrdi 2787 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑓(Walks‘𝐺)𝑝 ∧ ((♯‘𝑝) = ((♯‘𝑓) + 1) ∧ (♯‘𝑓) = 2)) → (♯‘𝑝) = 3)
5150exp32 420 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑝) = ((♯‘𝑓) + 1) → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3)))
5243, 51mpd 15 . . . . . . . . . . . . . . . . . . . . . 22 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3))
5352adantr 480 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → ((♯‘𝑓) = 2 → (♯‘𝑝) = 3))
5453imp 406 . . . . . . . . . . . . . . . . . . . 20 (((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) → (♯‘𝑝) = 3)
55 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑎 = (𝑝‘0) ↔ (𝑝‘0) = 𝑎)
5655biimpi 216 . . . . . . . . . . . . . . . . . . . . 21 (𝑎 = (𝑝‘0) → (𝑝‘0) = 𝑎)
57 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑏 = (𝑝‘1) ↔ (𝑝‘1) = 𝑏)
5857biimpi 216 . . . . . . . . . . . . . . . . . . . . 21 (𝑏 = (𝑝‘1) → (𝑝‘1) = 𝑏)
59 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . 22 (𝑐 = (𝑝‘2) ↔ (𝑝‘2) = 𝑐)
6059biimpi 216 . . . . . . . . . . . . . . . . . . . . 21 (𝑐 = (𝑝‘2) → (𝑝‘2) = 𝑐)
6156, 58, 603anim123i 1152 . . . . . . . . . . . . . . . . . . . 20 ((𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)) → ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))
6254, 61anim12i 614 . . . . . . . . . . . . . . . . . . 19 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐)))
631wlkpwrd 29686 . . . . . . . . . . . . . . . . . . . . . 22 (𝑓(Walks‘𝐺)𝑝𝑝 ∈ Word 𝑉)
64 simpr 484 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → 𝑎𝑉)
6564anim1i 616 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → (𝑎𝑉 ∧ (𝑏𝑉𝑐𝑉)))
66 3anass 1095 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑎𝑉𝑏𝑉𝑐𝑉) ↔ (𝑎𝑉 ∧ (𝑏𝑉𝑐𝑉)))
6765, 66sylibr 234 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → (𝑎𝑉𝑏𝑉𝑐𝑉))
6867adantr 480 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (𝑎𝑉𝑏𝑉𝑐𝑉))
6963, 68anim12i 614 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → (𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)))
7069ad2antrr 727 . . . . . . . . . . . . . . . . . . . 20 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)))
71 eqwrds3 14923 . . . . . . . . . . . . . . . . . . . 20 ((𝑝 ∈ Word 𝑉 ∧ (𝑎𝑉𝑏𝑉𝑐𝑉)) → (𝑝 = ⟨“𝑎𝑏𝑐”⟩ ↔ ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))))
7270, 71syl 17 . . . . . . . . . . . . . . . . . . 19 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑝 = ⟨“𝑎𝑏𝑐”⟩ ↔ ((♯‘𝑝) = 3 ∧ ((𝑝‘0) = 𝑎 ∧ (𝑝‘1) = 𝑏 ∧ (𝑝‘2) = 𝑐))))
7362, 72mpbird 257 . . . . . . . . . . . . . . . . . 18 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑝 = ⟨“𝑎𝑏𝑐”⟩)
74 simprr 773 . . . . . . . . . . . . . . . . . . 19 ((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
7574ad2antrr 727 . . . . . . . . . . . . . . . . . 18 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑊 = ⟨“𝑎𝑏𝑐”⟩)
7673, 75eqtr4d 2774 . . . . . . . . . . . . . . . . 17 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → 𝑝 = 𝑊)
7776breq2d 5097 . . . . . . . . . . . . . . . 16 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝𝑓(Walks‘𝐺)𝑊))
7877biimpd 229 . . . . . . . . . . . . . . 15 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝𝑓(Walks‘𝐺)𝑊))
79 simplr 769 . . . . . . . . . . . . . . 15 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (♯‘𝑓) = 2)
8078, 79jctird 526 . . . . . . . . . . . . . 14 ((((𝑓(Walks‘𝐺)𝑝 ∧ (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩)) ∧ (♯‘𝑓) = 2) ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8180exp41 434 . . . . . . . . . . . . 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 1935 . . . . . . . 8 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)))
8742, 86impbid 212 . . . . . . 7 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → ((𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) ↔ ∃𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
8887exbidv 1923 . . . . . 6 ((((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) ∧ 𝑊 = ⟨“𝑎𝑏𝑐”⟩) → (∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2) ↔ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2)))))
8988pm5.32da 579 . . . . 5 (((𝐺 ∈ UPGraph ∧ 𝑎𝑉) ∧ (𝑏𝑉𝑐𝑉)) → ((𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
90892rexbidva 3200 . . . 4 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → (∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
917, 90bitrid 283 . . 3 ((𝐺 ∈ UPGraph ∧ 𝑎𝑉) → (∃𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
9291rexbidva 3159 . 2 (𝐺 ∈ UPGraph → (∃𝑎𝑉𝑐𝑉𝑏𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓(𝑓(Walks‘𝐺)𝑊 ∧ (♯‘𝑓) = 2)) ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
933, 6, 923bitrd 305 1 (𝐺 ∈ UPGraph → (𝑊 ∈ (2 WWalksN 𝐺) ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 (𝑊 = ⟨“𝑎𝑏𝑐”⟩ ∧ ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝑎 = (𝑝‘0) ∧ 𝑏 = (𝑝‘1) ∧ 𝑐 = (𝑝‘2))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1542  wex 1781  wcel 2114  wrex 3061  Vcvv 3429   class class class wbr 5085  cfv 6498  (class class class)co 7367  0cc0 11038  1c1 11039   + caddc 11041  2c2 12236  3c3 12237  chash 14292  Word cword 14475  ⟨“cs3 14804  Vtxcvtx 29065  UPGraphcupgr 29149  Walkscwlks 29665   WWalksN cwwlksn 29894   WWalksNOn cwwlksnon 29895
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 2708  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5307  ax-pr 5375  ax-un 7689  ax-ac2 10385  ax-cnex 11094  ax-resscn 11095  ax-1cn 11096  ax-icn 11097  ax-addcl 11098  ax-addrcl 11099  ax-mulcl 11100  ax-mulrcl 11101  ax-mulcom 11102  ax-addass 11103  ax-mulass 11104  ax-distr 11105  ax-i2m1 11106  ax-1ne0 11107  ax-1rid 11108  ax-rnegex 11109  ax-rrecex 11110  ax-cnre 11111  ax-pre-lttri 11112  ax-pre-lttrn 11113  ax-pre-ltadd 11114  ax-pre-mulgt0 11115
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 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3062  df-rmo 3342  df-reu 3343  df-rab 3390  df-v 3431  df-sbc 3729  df-csb 3838  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-uni 4851  df-int 4890  df-iun 4935  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-se 5585  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-f1 6503  df-fo 6504  df-f1o 6505  df-fv 6506  df-isom 6507  df-riota 7324  df-ov 7370  df-oprab 7371  df-mpo 7372  df-om 7818  df-1st 7942  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349  df-1o 8405  df-2o 8406  df-oadd 8409  df-er 8643  df-map 8775  df-pm 8776  df-en 8894  df-dom 8895  df-sdom 8896  df-fin 8897  df-dju 9825  df-card 9863  df-ac 10038  df-pnf 11181  df-mnf 11182  df-xr 11183  df-ltxr 11184  df-le 11185  df-sub 11379  df-neg 11380  df-nn 12175  df-2 12244  df-3 12245  df-n0 12438  df-xnn0 12511  df-z 12525  df-uz 12789  df-fz 13462  df-fzo 13609  df-hash 14293  df-word 14476  df-concat 14533  df-s1 14559  df-s2 14810  df-s3 14811  df-edg 29117  df-uhgr 29127  df-upgr 29151  df-wlks 29668  df-wwlks 29898  df-wwlksn 29899  df-wwlksnon 29900
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator