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

Theorem isfrgr 27122
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 27121 . . 3 FriendGraph = {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)}
21eleq2i 2693 . 2 (𝐺 ∈ FriendGraph ↔ 𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)})
3 eleq1 2689 . . . 4 ( = 𝐺 → ( ∈ USGraph ↔ 𝐺 ∈ USGraph ))
4 fveq2 6191 . . . . . 6 ( = 𝐺 → (Vtx‘) = (Vtx‘𝐺))
5 isfrgr.v . . . . . 6 𝑉 = (Vtx‘𝐺)
64, 5syl6eqr 2674 . . . . 5 ( = 𝐺 → (Vtx‘) = 𝑉)
76difeq1d 3727 . . . . . 6 ( = 𝐺 → ((Vtx‘) ∖ {𝑘}) = (𝑉 ∖ {𝑘}))
8 reueq1 3140 . . . . . . . 8 ((Vtx‘) = 𝑉 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
96, 8syl 17 . . . . . . 7 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
10 fveq2 6191 . . . . . . . . . 10 ( = 𝐺 → (Edg‘) = (Edg‘𝐺))
11 isfrgr.e . . . . . . . . . 10 𝐸 = (Edg‘𝐺)
1210, 11syl6eqr 2674 . . . . . . . . 9 ( = 𝐺 → (Edg‘) = 𝐸)
1312sseq2d 3633 . . . . . . . 8 ( = 𝐺 → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
1413reubidv 3126 . . . . . . 7 ( = 𝐺 → (∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
159, 14bitrd 268 . . . . . 6 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
167, 15raleqbidv 3152 . . . . 5 ( = 𝐺 → (∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
176, 16raleqbidv 3152 . . . 4 ( = 𝐺 → (∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
183, 17anbi12d 747 . . 3 ( = 𝐺 → (( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)) ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
19 eleq1 2689 . . . . 5 (𝑔 = → (𝑔 ∈ USGraph ↔ ∈ USGraph ))
20 fvexd 6203 . . . . . 6 (𝑔 = → (Vtx‘𝑔) ∈ V)
21 fveq2 6191 . . . . . 6 (𝑔 = → (Vtx‘𝑔) = (Vtx‘))
22 fvexd 6203 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) ∈ V)
23 fveq2 6191 . . . . . . . 8 (𝑔 = → (Edg‘𝑔) = (Edg‘))
2423adantr 481 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) = (Edg‘))
25 simpr 477 . . . . . . . . 9 ((𝑔 = 𝑣 = (Vtx‘)) → 𝑣 = (Vtx‘))
2625adantr 481 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑣 = (Vtx‘))
27 difeq1 3721 . . . . . . . . . 10 (𝑣 = (Vtx‘) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
2827ad2antlr 763 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
29 reueq1 3140 . . . . . . . . . . 11 (𝑣 = (Vtx‘) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
3029ad2antlr 763 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
31 simpr 477 . . . . . . . . . . . 12 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑒 = (Edg‘))
3231sseq2d 3633 . . . . . . . . . . 11 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3332reubidv 3126 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3430, 33bitrd 268 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3528, 34raleqbidv 3152 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3626, 35raleqbidv 3152 . . . . . . 7 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3722, 24, 36sbcied2 3473 . . . . . 6 ((𝑔 = 𝑣 = (Vtx‘)) → ([(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3820, 21, 37sbcied2 3473 . . . . 5 (𝑔 = → ([(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3919, 38anbi12d 747 . . . 4 (𝑔 = → ((𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒) ↔ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))))
4039cbvabv 2747 . . 3 {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} = { ∣ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))}
4118, 40elab2g 3353 . 2 (𝐺𝑈 → (𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
422, 41syl5bb 272 1 (𝐺𝑈 → (𝐺 ∈ FriendGraph ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384   = wceq 1483  wcel 1990  {cab 2608  wral 2912  ∃!wreu 2914  Vcvv 3200  [wsbc 3435  cdif 3571  wss 3574  {csn 4177  {cpr 4179  cfv 5888  Vtxcvtx 25874  Edgcedg 25939   USGraph cusgr 26044   FriendGraph cfrgr 27120
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-nul 4789
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ral 2917  df-rex 2918  df-reu 2919  df-rab 2921  df-v 3202  df-sbc 3436  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-br 4654  df-iota 5851  df-fv 5896  df-frgr 27121
This theorem is referenced by:  frgrusgrfrcond  27123
  Copyright terms: Public domain W3C validator