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

Theorem isfrgr 27333
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 27332 . . 3 FriendGraph = {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)}
21eleq2i 2795 . 2 (𝐺 ∈ FriendGraph ↔ 𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)})
3 eleq1 2791 . . . 4 ( = 𝐺 → ( ∈ USGraph ↔ 𝐺 ∈ USGraph))
4 fveq2 6304 . . . . . 6 ( = 𝐺 → (Vtx‘) = (Vtx‘𝐺))
5 isfrgr.v . . . . . 6 𝑉 = (Vtx‘𝐺)
64, 5syl6eqr 2776 . . . . 5 ( = 𝐺 → (Vtx‘) = 𝑉)
76difeq1d 3835 . . . . . 6 ( = 𝐺 → ((Vtx‘) ∖ {𝑘}) = (𝑉 ∖ {𝑘}))
8 reueq1 3243 . . . . . . . 8 ((Vtx‘) = 𝑉 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
96, 8syl 17 . . . . . . 7 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
10 fveq2 6304 . . . . . . . . . 10 ( = 𝐺 → (Edg‘) = (Edg‘𝐺))
11 isfrgr.e . . . . . . . . . 10 𝐸 = (Edg‘𝐺)
1210, 11syl6eqr 2776 . . . . . . . . 9 ( = 𝐺 → (Edg‘) = 𝐸)
1312sseq2d 3739 . . . . . . . 8 ( = 𝐺 → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
1413reubidv 3229 . . . . . . 7 ( = 𝐺 → (∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
159, 14bitrd 268 . . . . . 6 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
167, 15raleqbidv 3255 . . . . 5 ( = 𝐺 → (∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
176, 16raleqbidv 3255 . . . 4 ( = 𝐺 → (∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
183, 17anbi12d 749 . . 3 ( = 𝐺 → (( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)) ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
19 eleq1 2791 . . . . 5 (𝑔 = → (𝑔 ∈ USGraph ↔ ∈ USGraph))
20 fvexd 6316 . . . . . 6 (𝑔 = → (Vtx‘𝑔) ∈ V)
21 fveq2 6304 . . . . . 6 (𝑔 = → (Vtx‘𝑔) = (Vtx‘))
22 fvexd 6316 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) ∈ V)
23 fveq2 6304 . . . . . . . 8 (𝑔 = → (Edg‘𝑔) = (Edg‘))
2423adantr 472 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) = (Edg‘))
25 simpr 479 . . . . . . . . 9 ((𝑔 = 𝑣 = (Vtx‘)) → 𝑣 = (Vtx‘))
2625adantr 472 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑣 = (Vtx‘))
27 difeq1 3829 . . . . . . . . . 10 (𝑣 = (Vtx‘) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
2827ad2antlr 765 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
29 reueq1 3243 . . . . . . . . . . 11 (𝑣 = (Vtx‘) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
3029ad2antlr 765 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
31 simpr 479 . . . . . . . . . . . 12 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑒 = (Edg‘))
3231sseq2d 3739 . . . . . . . . . . 11 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3332reubidv 3229 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3430, 33bitrd 268 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3528, 34raleqbidv 3255 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3626, 35raleqbidv 3255 . . . . . . 7 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3722, 24, 36sbcied2 3579 . . . . . 6 ((𝑔 = 𝑣 = (Vtx‘)) → ([(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3820, 21, 37sbcied2 3579 . . . . 5 (𝑔 = → ([(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3919, 38anbi12d 749 . . . 4 (𝑔 = → ((𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒) ↔ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))))
4039cbvabv 2849 . . 3 {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} = { ∣ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))}
4118, 40elab2g 3458 . 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 1596  wcel 2103  {cab 2710  wral 3014  ∃!wreu 3016  Vcvv 3304  [wsbc 3541  cdif 3677  wss 3680  {csn 4285  {cpr 4287  cfv 6001  Vtxcvtx 25994  Edgcedg 26059  USGraphcusgr 26164   FriendGraph cfrgr 27331
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1835  ax-4 1850  ax-5 1952  ax-6 2018  ax-7 2054  ax-9 2112  ax-10 2132  ax-11 2147  ax-12 2160  ax-13 2355  ax-ext 2704  ax-nul 4897
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3an 1074  df-tru 1599  df-ex 1818  df-nf 1823  df-sb 2011  df-eu 2575  df-clab 2711  df-cleq 2717  df-clel 2720  df-nfc 2855  df-ral 3019  df-rex 3020  df-reu 3021  df-rab 3023  df-v 3306  df-sbc 3542  df-dif 3683  df-un 3685  df-in 3687  df-ss 3694  df-nul 4024  df-if 4195  df-sn 4286  df-pr 4288  df-op 4292  df-uni 4545  df-br 4761  df-iota 5964  df-fv 6009  df-frgr 27332
This theorem is referenced by:  frgrusgrfrcond  27334
  Copyright terms: Public domain W3C validator