Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isfrgr Structured version   Visualization version   GIF version

Theorem isfrgr 41432
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 41431 . . 3 FriendGraph = {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)}
21eleq2i 2679 . 2 (𝐺 ∈ FriendGraph ↔ 𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)})
3 eleq1 2675 . . . 4 ( = 𝐺 → ( ∈ USGraph ↔ 𝐺 ∈ USGraph ))
4 fveq2 6088 . . . . . 6 ( = 𝐺 → (Vtx‘) = (Vtx‘𝐺))
5 isfrgr.v . . . . . 6 𝑉 = (Vtx‘𝐺)
64, 5syl6eqr 2661 . . . . 5 ( = 𝐺 → (Vtx‘) = 𝑉)
76difeq1d 3688 . . . . . 6 ( = 𝐺 → ((Vtx‘) ∖ {𝑘}) = (𝑉 ∖ {𝑘}))
8 biidd 250 . . . . . . . . 9 ((Vtx‘) = 𝑉 → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
98reueqd 3124 . . . . . . . 8 ((Vtx‘) = 𝑉 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
106, 9syl 17 . . . . . . 7 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
11 fveq2 6088 . . . . . . . . . 10 ( = 𝐺 → (Edg‘) = (Edg‘𝐺))
12 isfrgr.e . . . . . . . . . 10 𝐸 = (Edg‘𝐺)
1311, 12syl6eqr 2661 . . . . . . . . 9 ( = 𝐺 → (Edg‘) = 𝐸)
1413sseq2d 3595 . . . . . . . 8 ( = 𝐺 → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
1514reubidv 3102 . . . . . . 7 ( = 𝐺 → (∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
1610, 15bitrd 266 . . . . . 6 ( = 𝐺 → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
177, 16raleqbidv 3128 . . . . 5 ( = 𝐺 → (∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
186, 17raleqbidv 3128 . . . 4 ( = 𝐺 → (∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘) ↔ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸))
193, 18anbi12d 742 . . 3 ( = 𝐺 → (( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)) ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
20 eleq1 2675 . . . . 5 (𝑔 = → (𝑔 ∈ USGraph ↔ ∈ USGraph ))
21 fvex 6098 . . . . . . 7 (Vtx‘𝑔) ∈ V
2221a1i 11 . . . . . 6 (𝑔 = → (Vtx‘𝑔) ∈ V)
23 fveq2 6088 . . . . . 6 (𝑔 = → (Vtx‘𝑔) = (Vtx‘))
24 fvex 6098 . . . . . . . 8 (Edg‘𝑔) ∈ V
2524a1i 11 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) ∈ V)
26 fveq2 6088 . . . . . . . 8 (𝑔 = → (Edg‘𝑔) = (Edg‘))
2726adantr 479 . . . . . . 7 ((𝑔 = 𝑣 = (Vtx‘)) → (Edg‘𝑔) = (Edg‘))
28 simpr 475 . . . . . . . . 9 ((𝑔 = 𝑣 = (Vtx‘)) → 𝑣 = (Vtx‘))
2928adantr 479 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑣 = (Vtx‘))
30 difeq1 3682 . . . . . . . . . 10 (𝑣 = (Vtx‘) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
3130ad2antlr 758 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (𝑣 ∖ {𝑘}) = ((Vtx‘) ∖ {𝑘}))
32 biidd 250 . . . . . . . . . . . 12 (𝑣 = (Vtx‘) → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
3332reueqd 3124 . . . . . . . . . . 11 (𝑣 = (Vtx‘) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
3433ad2antlr 758 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒))
35 simpr 475 . . . . . . . . . . . 12 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → 𝑒 = (Edg‘))
3635sseq2d 3595 . . . . . . . . . . 11 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → ({{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3736reubidv 3102 . . . . . . . . . 10 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3834, 37bitrd 266 . . . . . . . . 9 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
3931, 38raleqbidv 3128 . . . . . . . 8 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
4029, 39raleqbidv 3128 . . . . . . 7 (((𝑔 = 𝑣 = (Vtx‘)) ∧ 𝑒 = (Edg‘)) → (∀𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
4125, 27, 40sbcied2 3439 . . . . . 6 ((𝑔 = 𝑣 = (Vtx‘)) → ([(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
4222, 23, 41sbcied2 3439 . . . . 5 (𝑔 = → ([(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒 ↔ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘)))
4320, 42anbi12d 742 . . . 4 (𝑔 = → ((𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒) ↔ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))))
4443cbvabv 2733 . . 3 {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} = { ∣ ( ∈ USGraph ∧ ∀𝑘 ∈ (Vtx‘)∀𝑙 ∈ ((Vtx‘) ∖ {𝑘})∃!𝑥 ∈ (Vtx‘){{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ (Edg‘))}
4519, 44elab2g 3321 . 2 (𝐺𝑈 → (𝐺 ∈ {𝑔 ∣ (𝑔 ∈ USGraph ∧ [(Vtx‘𝑔) / 𝑣][(Edg‘𝑔) / 𝑒]𝑘𝑣𝑙 ∈ (𝑣 ∖ {𝑘})∃!𝑥𝑣 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝑒)} ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
462, 45syl5bb 270 1 (𝐺𝑈 → (𝐺 ∈ FriendGraph ↔ (𝐺 ∈ USGraph ∧ ∀𝑘𝑉𝑙 ∈ (𝑉 ∖ {𝑘})∃!𝑥𝑉 {{𝑥, 𝑘}, {𝑥, 𝑙}} ⊆ 𝐸)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 194  wa 382   = wceq 1474  wcel 1976  {cab 2595  wral 2895  ∃!wreu 2897  Vcvv 3172  [wsbc 3401  cdif 3536  wss 3539  {csn 4124  {cpr 4126  cfv 5790  Vtxcvtx 40231  Edgcedga 40353   USGraph cusgr 40381   FriendGraph cfrgr 41430
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1712  ax-4 1727  ax-5 1826  ax-6 1874  ax-7 1921  ax-10 2005  ax-11 2020  ax-12 2032  ax-13 2232  ax-ext 2589  ax-nul 4712
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1700  df-sb 1867  df-eu 2461  df-clab 2596  df-cleq 2602  df-clel 2605  df-nfc 2739  df-ral 2900  df-rex 2901  df-reu 2902  df-rab 2904  df-v 3174  df-sbc 3402  df-dif 3542  df-un 3544  df-in 3546  df-ss 3553  df-nul 3874  df-if 4036  df-sn 4125  df-pr 4127  df-op 4131  df-uni 4367  df-br 4578  df-iota 5754  df-fv 5798  df-frgr 41431
This theorem is referenced by:  frgrusgrfrcond  41433
  Copyright terms: Public domain W3C validator