Metamath Proof Explorer


Theorem clnbgrval

Description: The closed neighborhood of a vertex V in a graph G . (Contributed by AV, 7-May-2025)

Ref Expression
Hypotheses clnbgrval.v
|- V = ( Vtx ` G )
clnbgrval.e
|- E = ( Edg ` G )
Assertion clnbgrval
|- ( N e. V -> ( G ClNeighbVtx N ) = ( { N } u. { n e. V | E. e e. E { N , n } C_ e } ) )

Proof

Step Hyp Ref Expression
1 clnbgrval.v
 |-  V = ( Vtx ` G )
2 clnbgrval.e
 |-  E = ( Edg ` G )
3 df-clnbgr
 |-  ClNeighbVtx = ( g e. _V , v e. ( Vtx ` g ) |-> ( { v } u. { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } ) )
4 1 1vgrex
 |-  ( N e. V -> G e. _V )
5 fveq2
 |-  ( G = g -> ( Vtx ` G ) = ( Vtx ` g ) )
6 5 eqcoms
 |-  ( g = G -> ( Vtx ` G ) = ( Vtx ` g ) )
7 1 6 eqtrid
 |-  ( g = G -> V = ( Vtx ` g ) )
8 7 eleq2d
 |-  ( g = G -> ( N e. V <-> N e. ( Vtx ` g ) ) )
9 8 biimpac
 |-  ( ( N e. V /\ g = G ) -> N e. ( Vtx ` g ) )
10 vsnex
 |-  { v } e. _V
11 10 a1i
 |-  ( ( N e. V /\ ( g = G /\ v = N ) ) -> { v } e. _V )
12 fvex
 |-  ( Vtx ` g ) e. _V
13 rabexg
 |-  ( ( Vtx ` g ) e. _V -> { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } e. _V )
14 12 13 mp1i
 |-  ( ( N e. V /\ ( g = G /\ v = N ) ) -> { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } e. _V )
15 11 14 unexd
 |-  ( ( N e. V /\ ( g = G /\ v = N ) ) -> ( { v } u. { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } ) e. _V )
16 sneq
 |-  ( v = N -> { v } = { N } )
17 16 adantl
 |-  ( ( g = G /\ v = N ) -> { v } = { N } )
18 fveq2
 |-  ( g = G -> ( Vtx ` g ) = ( Vtx ` G ) )
19 18 1 eqtr4di
 |-  ( g = G -> ( Vtx ` g ) = V )
20 19 adantr
 |-  ( ( g = G /\ v = N ) -> ( Vtx ` g ) = V )
21 fveq2
 |-  ( g = G -> ( Edg ` g ) = ( Edg ` G ) )
22 21 2 eqtr4di
 |-  ( g = G -> ( Edg ` g ) = E )
23 22 adantr
 |-  ( ( g = G /\ v = N ) -> ( Edg ` g ) = E )
24 preq1
 |-  ( v = N -> { v , n } = { N , n } )
25 24 sseq1d
 |-  ( v = N -> ( { v , n } C_ e <-> { N , n } C_ e ) )
26 25 adantl
 |-  ( ( g = G /\ v = N ) -> ( { v , n } C_ e <-> { N , n } C_ e ) )
27 23 26 rexeqbidv
 |-  ( ( g = G /\ v = N ) -> ( E. e e. ( Edg ` g ) { v , n } C_ e <-> E. e e. E { N , n } C_ e ) )
28 20 27 rabeqbidv
 |-  ( ( g = G /\ v = N ) -> { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } = { n e. V | E. e e. E { N , n } C_ e } )
29 17 28 uneq12d
 |-  ( ( g = G /\ v = N ) -> ( { v } u. { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } ) = ( { N } u. { n e. V | E. e e. E { N , n } C_ e } ) )
30 29 adantl
 |-  ( ( N e. V /\ ( g = G /\ v = N ) ) -> ( { v } u. { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } ) = ( { N } u. { n e. V | E. e e. E { N , n } C_ e } ) )
31 4 9 15 30 ovmpodv2
 |-  ( N e. V -> ( ClNeighbVtx = ( g e. _V , v e. ( Vtx ` g ) |-> ( { v } u. { n e. ( Vtx ` g ) | E. e e. ( Edg ` g ) { v , n } C_ e } ) ) -> ( G ClNeighbVtx N ) = ( { N } u. { n e. V | E. e e. E { N , n } C_ e } ) ) )
32 3 31 mpi
 |-  ( N e. V -> ( G ClNeighbVtx N ) = ( { N } u. { n e. V | E. e e. E { N , n } C_ e } ) )