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

Theorem frgr2wwlk1 30361
Description: In a friendship graph, there is exactly one walk of length 2 between two different vertices. (Contributed by Alexander van der Vekens, 19-Feb-2018.) (Revised by AV, 13-May-2021.) (Proof shortened by AV, 16-Mar-2022.)
Hypothesis
Ref Expression
frgr2wwlkeu.v 𝑉 = (Vtx‘𝐺)
Assertion
Ref Expression
frgr2wwlk1 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → (♯‘(𝐴(2 WWalksNOn 𝐺)𝐵)) = 1)

Proof of Theorem frgr2wwlk1
Dummy variables 𝑐 𝑑 𝑡 𝑤 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frgr2wwlkeu.v . . . 4 𝑉 = (Vtx‘𝐺)
21frgr2wwlkn0 30360 . . 3 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → (𝐴(2 WWalksNOn 𝐺)𝐵) ≠ ∅)
31elwwlks2ons3 29988 . . . . . 6 (𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ ∃𝑑𝑉 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
41elwwlks2ons3 29988 . . . . . 6 (𝑡 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ ∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
53, 4anbi12i 627 . . . . 5 ((𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑡 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ↔ (∃𝑑𝑉 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ∧ ∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))))
61frgr2wwlkeu 30359 . . . . . 6 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))
7 s3eq2 14919 . . . . . . . . . . . . . 14 (𝑥 = 𝑦 → ⟨“𝐴𝑥𝐵”⟩ = ⟨“𝐴𝑦𝐵”⟩)
87eleq1d 2829 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
98reu4 3753 . . . . . . . . . . . 12 (∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ (∃𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ∀𝑥𝑉𝑦𝑉 ((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑥 = 𝑦)))
10 s3eq2 14919 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑑 → ⟨“𝐴𝑥𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩)
1110eleq1d 2829 . . . . . . . . . . . . . . . . 17 (𝑥 = 𝑑 → (⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
1211anbi1d 630 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑑 → ((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ↔ (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))))
13 equequ1 2024 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑑 → (𝑥 = 𝑦𝑑 = 𝑦))
1412, 13imbi12d 344 . . . . . . . . . . . . . . 15 (𝑥 = 𝑑 → (((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑥 = 𝑦) ↔ ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑦)))
15 s3eq2 14919 . . . . . . . . . . . . . . . . . 18 (𝑦 = 𝑐 → ⟨“𝐴𝑦𝐵”⟩ = ⟨“𝐴𝑐𝐵”⟩)
1615eleq1d 2829 . . . . . . . . . . . . . . . . 17 (𝑦 = 𝑐 → (⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ↔ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
1716anbi2d 629 . . . . . . . . . . . . . . . 16 (𝑦 = 𝑐 → ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ↔ (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))))
18 equequ2 2025 . . . . . . . . . . . . . . . 16 (𝑦 = 𝑐 → (𝑑 = 𝑦𝑑 = 𝑐))
1917, 18imbi12d 344 . . . . . . . . . . . . . . 15 (𝑦 = 𝑐 → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑦) ↔ ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐)))
2014, 19rspc2va 3647 . . . . . . . . . . . . . 14 (((𝑑𝑉𝑐𝑉) ∧ ∀𝑥𝑉𝑦𝑉 ((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑥 = 𝑦)) → ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐))
21 pm3.35 802 . . . . . . . . . . . . . . . . . . . . . . 23 (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ∧ ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐)) → 𝑑 = 𝑐)
22 s3eq2 14919 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑐 = 𝑑 → ⟨“𝐴𝑐𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩)
2322equcoms 2019 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑑 = 𝑐 → ⟨“𝐴𝑐𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩)
2423adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑑 = 𝑐 ∧ (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩)) → ⟨“𝐴𝑐𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩)
25 eqeq12 2757 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩) → (𝑡 = 𝑤 ↔ ⟨“𝐴𝑐𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩))
2625adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑑 = 𝑐 ∧ (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩)) → (𝑡 = 𝑤 ↔ ⟨“𝐴𝑐𝐵”⟩ = ⟨“𝐴𝑑𝐵”⟩))
2724, 26mpbird 257 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑑 = 𝑐 ∧ (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩)) → 𝑡 = 𝑤)
2827equcomd 2018 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑑 = 𝑐 ∧ (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩)) → 𝑤 = 𝑡)
2928ex 412 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑑 = 𝑐 → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩) → 𝑤 = 𝑡))
3021, 29syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ∧ ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐)) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩) → 𝑤 = 𝑡))
3130ex 412 . . . . . . . . . . . . . . . . . . . . 21 ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩) → 𝑤 = 𝑡)))
3231com23 86 . . . . . . . . . . . . . . . . . . . 20 ((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ 𝑤 = ⟨“𝐴𝑑𝐵”⟩) → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡)))
3332exp4b 430 . . . . . . . . . . . . . . . . . . 19 (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (𝑡 = ⟨“𝐴𝑐𝐵”⟩ → (𝑤 = ⟨“𝐴𝑑𝐵”⟩ → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡)))))
3433com13 88 . . . . . . . . . . . . . . . . . 18 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ → (⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (𝑤 = ⟨“𝐴𝑑𝐵”⟩ → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡)))))
3534imp 406 . . . . . . . . . . . . . . . . 17 ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (𝑤 = ⟨“𝐴𝑑𝐵”⟩ → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡))))
3635com13 88 . . . . . . . . . . . . . . . 16 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ → (⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡))))
3736imp 406 . . . . . . . . . . . . . . 15 ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → 𝑤 = 𝑡)))
3837com13 88 . . . . . . . . . . . . . 14 (((⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑑 = 𝑐) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
3920, 38syl 17 . . . . . . . . . . . . 13 (((𝑑𝑉𝑐𝑉) ∧ ∀𝑥𝑉𝑦𝑉 ((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑥 = 𝑦)) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
4039expcom 413 . . . . . . . . . . . 12 (∀𝑥𝑉𝑦𝑉 ((⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ ⟨“𝐴𝑦𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑥 = 𝑦) → ((𝑑𝑉𝑐𝑉) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡))))
419, 40simplbiim 504 . . . . . . . . . . 11 (∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → ((𝑑𝑉𝑐𝑉) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡))))
4241impl 455 . . . . . . . . . 10 (((∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑑𝑉) ∧ 𝑐𝑉) → ((𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
4342rexlimdva 3161 . . . . . . . . 9 ((∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑑𝑉) → (∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
4443com23 86 . . . . . . . 8 ((∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑑𝑉) → ((𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
4544rexlimdva 3161 . . . . . . 7 (∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → (∃𝑑𝑉 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → (∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)))
4645impd 410 . . . . . 6 (∃!𝑥𝑉 ⟨“𝐴𝑥𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) → ((∃𝑑𝑉 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ∧ ∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))) → 𝑤 = 𝑡))
476, 46syl 17 . . . . 5 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ((∃𝑑𝑉 (𝑤 = ⟨“𝐴𝑑𝐵”⟩ ∧ ⟨“𝐴𝑑𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) ∧ ∃𝑐𝑉 (𝑡 = ⟨“𝐴𝑐𝐵”⟩ ∧ ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))) → 𝑤 = 𝑡))
485, 47biimtrid 242 . . . 4 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ((𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑡 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡))
4948alrimivv 1927 . . 3 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ∀𝑤𝑡((𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑡 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡))
50 eqeuel 4388 . . 3 (((𝐴(2 WWalksNOn 𝐺)𝐵) ≠ ∅ ∧ ∀𝑤𝑡((𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵) ∧ 𝑡 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)) → 𝑤 = 𝑡)) → ∃!𝑤 𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))
512, 49, 50syl2anc 583 . 2 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ∃!𝑤 𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))
52 ovex 7481 . . 3 (𝐴(2 WWalksNOn 𝐺)𝐵) ∈ V
53 euhash1 14469 . . 3 ((𝐴(2 WWalksNOn 𝐺)𝐵) ∈ V → ((♯‘(𝐴(2 WWalksNOn 𝐺)𝐵)) = 1 ↔ ∃!𝑤 𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
5452, 53mp1i 13 . 2 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ((♯‘(𝐴(2 WWalksNOn 𝐺)𝐵)) = 1 ↔ ∃!𝑤 𝑤 ∈ (𝐴(2 WWalksNOn 𝐺)𝐵)))
5551, 54mpbird 257 1 ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → (♯‘(𝐴(2 WWalksNOn 𝐺)𝐵)) = 1)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087  wal 1535   = wceq 1537  wcel 2108  ∃!weu 2571  wne 2946  wral 3067  wrex 3076  ∃!wreu 3386  Vcvv 3488  c0 4352  cfv 6573  (class class class)co 7448  1c1 11185  2c2 12348  chash 14379  ⟨“cs3 14891  Vtxcvtx 29031   WWalksNOn cwwlksnon 29860   FriendGraph cfrgr 30290
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770  ax-ac2 10532  ax-cnex 11240  ax-resscn 11241  ax-1cn 11242  ax-icn 11243  ax-addcl 11244  ax-addrcl 11245  ax-mulcl 11246  ax-mulrcl 11247  ax-mulcom 11248  ax-addass 11249  ax-mulass 11250  ax-distr 11251  ax-i2m1 11252  ax-1ne0 11253  ax-1rid 11254  ax-rnegex 11255  ax-rrecex 11256  ax-cnre 11257  ax-pre-lttri 11258  ax-pre-lttrn 11259  ax-pre-ltadd 11260  ax-pre-mulgt0 11261
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-ifp 1064  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-tp 4653  df-op 4655  df-uni 4932  df-int 4971  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-se 5653  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-pred 6332  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-isom 6582  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-1st 8030  df-2nd 8031  df-frecs 8322  df-wrecs 8353  df-recs 8427  df-rdg 8466  df-1o 8522  df-2o 8523  df-oadd 8526  df-er 8763  df-map 8886  df-pm 8887  df-en 9004  df-dom 9005  df-sdom 9006  df-fin 9007  df-dju 9970  df-card 10008  df-ac 10185  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11522  df-neg 11523  df-nn 12294  df-2 12356  df-3 12357  df-n0 12554  df-xnn0 12626  df-z 12640  df-uz 12904  df-fz 13568  df-fzo 13712  df-hash 14380  df-word 14563  df-concat 14619  df-s1 14644  df-s2 14897  df-s3 14898  df-edg 29083  df-uhgr 29093  df-upgr 29117  df-umgr 29118  df-usgr 29186  df-wlks 29635  df-wwlks 29863  df-wwlksn 29864  df-wwlksnon 29865  df-frgr 30291
This theorem is referenced by:  frgr2wsp1  30362
  Copyright terms: Public domain W3C validator