MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  isfrgr Structured version   Visualization version   Unicode 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  |-  V  =  (Vtx `  G )
isfrgr.e  |-  E  =  (Edg `  G )
Assertion
Ref Expression
isfrgr  |-  ( G  e.  U  ->  ( G  e. FriendGraph  <->  ( G  e. USGraph  /\  A. k  e.  V  A. l  e.  ( V  \  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E
) ) )
Distinct variable groups:    k, l, x, G    k, V, l, x
Allowed substitution hints:    U( x, k, l)    E( x, k, l)

Proof of Theorem isfrgr
Dummy variables  e  h  g  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-frgr 27121 . . 3  |- FriendGraph  =  {
g  |  ( g  e. USGraph  /\  [. (Vtx `  g )  /  v ]. [. (Edg `  g
)  /  e ]. A. k  e.  v  A. l  e.  (
v  \  { k } ) E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e
) }
21eleq2i 2693 . 2  |-  ( G  e. FriendGraph 
<->  G  e.  { g  |  ( g  e. USGraph  /\  [. (Vtx `  g
)  /  v ]. [. (Edg `  g )  /  e ]. A. k  e.  v  A. l  e.  ( v  \  { k } ) E! x  e.  v  { { x ,  k } ,  {
x ,  l } }  C_  e ) } )
3 eleq1 2689 . . . 4  |-  ( h  =  G  ->  (
h  e. USGraph  <->  G  e. USGraph  ) )
4 fveq2 6191 . . . . . 6  |-  ( h  =  G  ->  (Vtx `  h )  =  (Vtx
`  G ) )
5 isfrgr.v . . . . . 6  |-  V  =  (Vtx `  G )
64, 5syl6eqr 2674 . . . . 5  |-  ( h  =  G  ->  (Vtx `  h )  =  V )
76difeq1d 3727 . . . . . 6  |-  ( h  =  G  ->  (
(Vtx `  h )  \  { k } )  =  ( V  \  { k } ) )
8 reueq1 3140 . . . . . . . 8  |-  ( (Vtx
`  h )  =  V  ->  ( E! x  e.  (Vtx `  h
) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) )
96, 8syl 17 . . . . . . 7  |-  ( h  =  G  ->  ( E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) )
10 fveq2 6191 . . . . . . . . . 10  |-  ( h  =  G  ->  (Edg `  h )  =  (Edg
`  G ) )
11 isfrgr.e . . . . . . . . . 10  |-  E  =  (Edg `  G )
1210, 11syl6eqr 2674 . . . . . . . . 9  |-  ( h  =  G  ->  (Edg `  h )  =  E )
1312sseq2d 3633 . . . . . . . 8  |-  ( h  =  G  ->  ( { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  { { x ,  k } ,  { x ,  l } }  C_  E ) )
1413reubidv 3126 . . . . . . 7  |-  ( h  =  G  ->  ( E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E ) )
159, 14bitrd 268 . . . . . 6  |-  ( h  =  G  ->  ( E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E
) )
167, 15raleqbidv 3152 . . . . 5  |-  ( h  =  G  ->  ( A. l  e.  (
(Vtx `  h )  \  { k } ) E! x  e.  (Vtx
`  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  A. l  e.  ( V 
\  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E
) )
176, 16raleqbidv 3152 . . . 4  |-  ( h  =  G  ->  ( A. k  e.  (Vtx `  h ) A. l  e.  ( (Vtx `  h
)  \  { k } ) E! x  e.  (Vtx `  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )  <->  A. k  e.  V  A. l  e.  ( V  \  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E ) )
183, 17anbi12d 747 . . 3  |-  ( h  =  G  ->  (
( h  e. USGraph  /\  A. k  e.  (Vtx `  h
) A. l  e.  ( (Vtx `  h
)  \  { k } ) E! x  e.  (Vtx `  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )
)  <->  ( G  e. USGraph  /\  A. k  e.  V  A. l  e.  ( V  \  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E
) ) )
19 eleq1 2689 . . . . 5  |-  ( g  =  h  ->  (
g  e. USGraph  <->  h  e. USGraph  ) )
20 fvexd 6203 . . . . . 6  |-  ( g  =  h  ->  (Vtx `  g )  e.  _V )
21 fveq2 6191 . . . . . 6  |-  ( g  =  h  ->  (Vtx `  g )  =  (Vtx
`  h ) )
22 fvexd 6203 . . . . . . 7  |-  ( ( g  =  h  /\  v  =  (Vtx `  h
) )  ->  (Edg `  g )  e.  _V )
23 fveq2 6191 . . . . . . . 8  |-  ( g  =  h  ->  (Edg `  g )  =  (Edg
`  h ) )
2423adantr 481 . . . . . . 7  |-  ( ( g  =  h  /\  v  =  (Vtx `  h
) )  ->  (Edg `  g )  =  (Edg
`  h ) )
25 simpr 477 . . . . . . . . 9  |-  ( ( g  =  h  /\  v  =  (Vtx `  h
) )  ->  v  =  (Vtx `  h )
)
2625adantr 481 . . . . . . . 8  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  v  =  (Vtx
`  h ) )
27 difeq1 3721 . . . . . . . . . 10  |-  ( v  =  (Vtx `  h
)  ->  ( v  \  { k } )  =  ( (Vtx `  h )  \  {
k } ) )
2827ad2antlr 763 . . . . . . . . 9  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( v  \  { k } )  =  ( (Vtx `  h )  \  {
k } ) )
29 reueq1 3140 . . . . . . . . . . 11  |-  ( v  =  (Vtx `  h
)  ->  ( E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  E! x  e.  (Vtx
`  h ) { { x ,  k } ,  { x ,  l } }  C_  e ) )
3029ad2antlr 763 . . . . . . . . . 10  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  e ) )
31 simpr 477 . . . . . . . . . . . 12  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  e  =  (Edg
`  h ) )
3231sseq2d 3633 . . . . . . . . . . 11  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( { {
x ,  k } ,  { x ,  l } }  C_  e 
<->  { { x ,  k } ,  {
x ,  l } }  C_  (Edg `  h
) ) )
3332reubidv 3126 . . . . . . . . . 10  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( E! x  e.  (Vtx `  h ) { { x ,  k } ,  { x ,  l } }  C_  e  <->  E! x  e.  (Vtx
`  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )
) )
3430, 33bitrd 268 . . . . . . . . 9  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) )
3528, 34raleqbidv 3152 . . . . . . . 8  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( A. l  e.  ( v  \  {
k } ) E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  A. l  e.  ( (Vtx `  h )  \  { k } ) E! x  e.  (Vtx
`  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )
) )
3626, 35raleqbidv 3152 . . . . . . 7  |-  ( ( ( g  =  h  /\  v  =  (Vtx
`  h ) )  /\  e  =  (Edg
`  h ) )  ->  ( A. k  e.  v  A. l  e.  ( v  \  {
k } ) E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  A. k  e.  (Vtx
`  h ) A. l  e.  ( (Vtx `  h )  \  {
k } ) E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) )
3722, 24, 36sbcied2 3473 . . . . . 6  |-  ( ( g  =  h  /\  v  =  (Vtx `  h
) )  ->  ( [. (Edg `  g )  /  e ]. A. k  e.  v  A. l  e.  ( v  \  { k } ) E! x  e.  v  { { x ,  k } ,  {
x ,  l } }  C_  e  <->  A. k  e.  (Vtx `  h ) A. l  e.  (
(Vtx `  h )  \  { k } ) E! x  e.  (Vtx
`  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )
) )
3820, 21, 37sbcied2 3473 . . . . 5  |-  ( g  =  h  ->  ( [. (Vtx `  g )  /  v ]. [. (Edg `  g )  /  e ]. A. k  e.  v 
A. l  e.  ( v  \  { k } ) E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e  <->  A. k  e.  (Vtx `  h ) A. l  e.  ( (Vtx `  h
)  \  { k } ) E! x  e.  (Vtx `  h ) { { x ,  k } ,  { x ,  l } }  C_  (Edg `  h )
) )
3919, 38anbi12d 747 . . . 4  |-  ( g  =  h  ->  (
( g  e. USGraph  /\  [. (Vtx `  g )  /  v ]. [. (Edg `  g
)  /  e ]. A. k  e.  v  A. l  e.  (
v  \  { k } ) E! x  e.  v  { { x ,  k } ,  { x ,  l } }  C_  e
)  <->  ( h  e. USGraph  /\  A. k  e.  (Vtx
`  h ) A. l  e.  ( (Vtx `  h )  \  {
k } ) E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) ) )
4039cbvabv 2747 . . 3  |-  { g  |  ( g  e. USGraph  /\  [. (Vtx `  g
)  /  v ]. [. (Edg `  g )  /  e ]. A. k  e.  v  A. l  e.  ( v  \  { k } ) E! x  e.  v  { { x ,  k } ,  {
x ,  l } }  C_  e ) }  =  { h  |  ( h  e. USGraph  /\  A. k  e.  (Vtx
`  h ) A. l  e.  ( (Vtx `  h )  \  {
k } ) E! x  e.  (Vtx `  h ) { {
x ,  k } ,  { x ,  l } }  C_  (Edg `  h ) ) }
4118, 40elab2g 3353 . 2  |-  ( G  e.  U  ->  ( G  e.  { g  |  ( g  e. USGraph  /\  [. (Vtx `  g
)  /  v ]. [. (Edg `  g )  /  e ]. A. k  e.  v  A. l  e.  ( v  \  { k } ) E! x  e.  v  { { x ,  k } ,  {
x ,  l } }  C_  e ) } 
<->  ( G  e. USGraph  /\  A. k  e.  V  A. l  e.  ( V  \  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E ) ) )
422, 41syl5bb 272 1  |-  ( G  e.  U  ->  ( G  e. FriendGraph  <->  ( G  e. USGraph  /\  A. k  e.  V  A. l  e.  ( V  \  { k } ) E! x  e.  V  { { x ,  k } ,  { x ,  l } }  C_  E
) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384    = wceq 1483    e. wcel 1990   {cab 2608   A.wral 2912   E!wreu 2914   _Vcvv 3200   [.wsbc 3435    \ cdif 3571    C_ 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