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

Theorem isfrgr 27412
Description: The property of being a friendship graph. (Contributed by Alexander van der Vekens, 4-Oct-2017.) (Revised by AV, 29-Mar-2021.)
Hypotheses
Ref Expression
isfrgr.v 𝑉 = (Vtx‘𝐺)
isfrgr.e 𝐸 = (Edg‘𝐺)
Assertion
Ref Expression
isfrgr (𝐺𝑈 → (𝐺 ∈ FriendGraph ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
Distinct variable groups:   𝑘,𝑙,𝑥,𝐺   𝑘,𝑉,𝑙,𝑥
Allowed substitution hints:   𝑈(𝑥,𝑘,𝑙)   𝐸(𝑥,𝑘,𝑙)

Proof of Theorem isfrgr
Dummy variables 𝑒 𝑔 𝑣 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-frgr 27411 . . 3 FriendGraph = {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)}
21eleq2i 2831 . 2 (𝐺 ∈ FriendGraph ↔ 𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)})
3 eleq1 2827 . . . 4 ( = 𝐺 → ( ∈ USGraph ↔ 𝐺 ∈ USGraph))
4 fveq2 6352 . . . . . 6 ( = 𝐺 → (Vtx‘) = (Vtx‘𝐺))
5 isfrgr.v . . . . . 6 𝑉 = (Vtx‘𝐺)
64, 5syl6eqr 2812 . . . . 5 ( = 𝐺 → (Vtx‘) = 𝑉)
76difeq1d 3870 . . . . . 6 ( = 𝐺 → ((Vtx‘) ∖ {𝑘}) = (𝑉 ∖ {𝑘}))
8 reueq1 3279 . . . . . . . 8 ((Vtx‘) = 𝑉 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
96, 8syl 17 . . . . . . 7 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
10 fveq2 6352 . . . . . . . . . 10 ( = 𝐺 → (Edg‘) = (Edg‘𝐺))
11 isfrgr.e . . . . . . . . . 10 𝐸 = (Edg‘𝐺)
1210, 11syl6eqr 2812 . . . . . . . . 9 ( = 𝐺 → (Edg‘) = 𝐸)
1312sseq2d 3774 . . . . . . . 8 ( = 𝐺 → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
1413reubidv 3265 . . . . . . 7 ( = 𝐺 → (∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
159, 14bitrd 268 . . . . . 6 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
167, 15raleqbidv 3291 . . . . 5 ( = 𝐺 → (∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
176, 16raleqbidv 3291 . . . 4 ( = 𝐺 → (∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
183, 17anbi12d 749 . . 3 ( = 𝐺 → (( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)) ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
19 eleq1 2827 . . . . 5 (𝑔 = → (𝑔 ∈ USGraph ↔ ∈ USGraph))
20 fvexd 6364 . . . . . 6 (𝑔 = → (Vtx‘𝑔) ∈ V)
21 fveq2 6352 . . . . . 6 (𝑔 = → (Vtx‘𝑔) = (Vtx‘))
22 fvexd 6364 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) ∈ V)
23 fveq2 6352 . . . . . . . 8 (𝑔 = → (Edg‘𝑔) = (Edg‘))
2423adantr 472 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) = (Edg‘))
25 simpr 479 . . . . . . . . 9 ((𝑔 = 𝑣 = (Vtx‘)) → 𝑣 = (Vtx‘))
2625adantr 472 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑣 = (Vtx‘))
27 difeq1 3864 . . . . . . . . . 10 (𝑣 = (Vtx‘) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
2827ad2antlr 765 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
29 reueq1 3279 . . . . . . . . . . 11 (𝑣 = (Vtx‘) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
3029ad2antlr 765 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
31 simpr 479 . . . . . . . . . . . 12 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑒 = (Edg‘))
3231sseq2d 3774 . . . . . . . . . . 11 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3332reubidv 3265 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3430, 33bitrd 268 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3528, 34raleqbidv 3291 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3626, 35raleqbidv 3291 . . . . . . 7 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3722, 24, 36sbcied2 3614 . . . . . 6 ((𝑔 = 𝑣 = (Vtx‘)) → ([(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3820, 21, 37sbcied2 3614 . . . . 5 (𝑔 = → ([(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3919, 38anbi12d 749 . . . 4 (𝑔 = → ((𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒) ↔ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))))
4039cbvabv 2885 . . 3 {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} = { ∣ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))}
4118, 40elab2g 3493 . 2 (𝐺𝑈 → (𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
422, 41syl5bb 272 1 (𝐺𝑈 → (𝐺 ∈ FriendGraph ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383   = wceq 1632  wcel 2139  {cab 2746  wral 3050  ∃!wreu 3052  Vcvv 3340  [wsbc 3576  cdif 3712  wss 3715  {csn 4321  {cpr 4323  cfv 6049  Vtxcvtx 26073  Edgcedg 26138  USGraphcusgr 26243   FriendGraph cfrgr 27410
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-nul 4941
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ral 3055  df-rex 3056  df-reu 3057  df-rab 3059  df-v 3342  df-sbc 3577  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-nul 4059  df-if 4231  df-sn 4322  df-pr 4324  df-op 4328  df-uni 4589  df-br 4805  df-iota 6012  df-fv 6057  df-frgr 27411
This theorem is referenced by:  frgrusgrfrcond  27413
  Copyright terms: Public domain W3C validator