Metamath Proof Explorer


Theorem vopnbgrelself

Description: A vertex N is a member of its semiopen neighborhood iff there is a loop joining the vertex with itself. (Contributed by AV, 16-May-2025)

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

Proof

Step Hyp Ref Expression
1 dfvopnbgr2.v 𝑉 = ( Vtx ‘ 𝐺 )
2 dfvopnbgr2.e 𝐸 = ( Edg ‘ 𝐺 )
3 dfvopnbgr2.u 𝑈 = { 𝑛𝑉 ∣ ( 𝑛 ∈ ( 𝐺 NeighbVtx 𝑁 ) ∨ ∃ 𝑒𝐸 ( 𝑁 = 𝑛𝑒 = { 𝑁 } ) ) }
4 ibar ( 𝑁𝑉 → ( ∃ 𝑒𝐸 ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) ↔ ( 𝑁𝑉 ∧ ∃ 𝑒𝐸 ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) ) ) )
5 eqid 𝑁 = 𝑁
6 5 jctl ( 𝑒 = { 𝑁 } → ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) )
7 6 olcd ( 𝑒 = { 𝑁 } → ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) )
8 eqneqall ( 𝑁 = 𝑁 → ( 𝑁𝑁 → ( ( 𝑁𝑒𝑁𝑒 ) → 𝑒 = { 𝑁 } ) ) )
9 5 8 ax-mp ( 𝑁𝑁 → ( ( 𝑁𝑒𝑁𝑒 ) → 𝑒 = { 𝑁 } ) )
10 9 3impib ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) → 𝑒 = { 𝑁 } )
11 simpr ( ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) → 𝑒 = { 𝑁 } )
12 10 11 jaoi ( ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) → 𝑒 = { 𝑁 } )
13 7 12 impbii ( 𝑒 = { 𝑁 } ↔ ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) )
14 13 a1i ( 𝑁𝑉 → ( 𝑒 = { 𝑁 } ↔ ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) ) )
15 14 rexbidv ( 𝑁𝑉 → ( ∃ 𝑒𝐸 𝑒 = { 𝑁 } ↔ ∃ 𝑒𝐸 ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) ) )
16 1 2 3 vopnbgrel ( 𝑁𝑉 → ( 𝑁𝑈 ↔ ( 𝑁𝑉 ∧ ∃ 𝑒𝐸 ( ( 𝑁𝑁𝑁𝑒𝑁𝑒 ) ∨ ( 𝑁 = 𝑁𝑒 = { 𝑁 } ) ) ) ) )
17 4 15 16 3bitr4rd ( 𝑁𝑉 → ( 𝑁𝑈 ↔ ∃ 𝑒𝐸 𝑒 = { 𝑁 } ) )