Metamath Proof Explorer


Theorem vopnbgrel

Description: Characterization of a member X of the semiopen neighborhood of a vertex N in a graph G . (Contributed by AV, 16-May-2025)

Ref Expression
Hypotheses dfvopnbgr2.v 𝑉 = ( Vtx ‘ 𝐺 )
dfvopnbgr2.e 𝐸 = ( Edg ‘ 𝐺 )
dfvopnbgr2.u 𝑈 = { 𝑛𝑉 ∣ ( 𝑛 ∈ ( 𝐺 NeighbVtx 𝑁 ) ∨ ∃ 𝑒𝐸 ( 𝑁 = 𝑛𝑒 = { 𝑁 } ) ) }
Assertion vopnbgrel ( 𝑁𝑉 → ( 𝑋𝑈 ↔ ( 𝑋𝑉 ∧ ∃ 𝑒𝐸 ( ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ∨ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) ) ) )

Proof

Step Hyp Ref Expression
1 dfvopnbgr2.v 𝑉 = ( Vtx ‘ 𝐺 )
2 dfvopnbgr2.e 𝐸 = ( Edg ‘ 𝐺 )
3 dfvopnbgr2.u 𝑈 = { 𝑛𝑉 ∣ ( 𝑛 ∈ ( 𝐺 NeighbVtx 𝑁 ) ∨ ∃ 𝑒𝐸 ( 𝑁 = 𝑛𝑒 = { 𝑁 } ) ) }
4 1 2 3 dfvopnbgr2 ( 𝑁𝑉𝑈 = { 𝑛𝑉 ∣ ∃ 𝑒𝐸 ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ∨ ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ) } )
5 4 eleq2d ( 𝑁𝑉 → ( 𝑋𝑈𝑋 ∈ { 𝑛𝑉 ∣ ∃ 𝑒𝐸 ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ∨ ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ) } ) )
6 neeq1 ( 𝑛 = 𝑋 → ( 𝑛𝑁𝑋𝑁 ) )
7 eleq1 ( 𝑛 = 𝑋 → ( 𝑛𝑒𝑋𝑒 ) )
8 6 7 3anbi13d ( 𝑛 = 𝑋 → ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ↔ ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ) )
9 eqeq1 ( 𝑛 = 𝑋 → ( 𝑛 = 𝑁𝑋 = 𝑁 ) )
10 sneq ( 𝑛 = 𝑋 → { 𝑛 } = { 𝑋 } )
11 10 eqeq2d ( 𝑛 = 𝑋 → ( 𝑒 = { 𝑛 } ↔ 𝑒 = { 𝑋 } ) )
12 9 11 anbi12d ( 𝑛 = 𝑋 → ( ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ↔ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) )
13 8 12 orbi12d ( 𝑛 = 𝑋 → ( ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ∨ ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ) ↔ ( ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ∨ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) ) )
14 13 rexbidv ( 𝑛 = 𝑋 → ( ∃ 𝑒𝐸 ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ∨ ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ) ↔ ∃ 𝑒𝐸 ( ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ∨ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) ) )
15 14 elrab ( 𝑋 ∈ { 𝑛𝑉 ∣ ∃ 𝑒𝐸 ( ( 𝑛𝑁𝑁𝑒𝑛𝑒 ) ∨ ( 𝑛 = 𝑁𝑒 = { 𝑛 } ) ) } ↔ ( 𝑋𝑉 ∧ ∃ 𝑒𝐸 ( ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ∨ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) ) )
16 5 15 bitrdi ( 𝑁𝑉 → ( 𝑋𝑈 ↔ ( 𝑋𝑉 ∧ ∃ 𝑒𝐸 ( ( 𝑋𝑁𝑁𝑒𝑋𝑒 ) ∨ ( 𝑋 = 𝑁𝑒 = { 𝑋 } ) ) ) ) )