Recall that an odd cycle has to be chordless for the odd-cycle inequality to have a chance being facet-defining for

*P*_{STAB}; however, chordlessness is not a sufficient condition for being facet-defining, see Section

'Cycle-constraint stable set polytope' If we consider Fig.

6 (a) again and compute an odd cycle starting with node

*v*_{2} or

*v*_{3}, we see that the resulting cycle contains a chord. This is independent of whether we add a small value to its weights or not. Let us now discuss an extension of Algorithm 4.2 with the purpose of deleting all chords. Algorithm 4.3 requires an odd cycle

*C* with one principle property. We assume that the cycle has to be free from node and edge repetitions, which is already satisfied according to the definition of a cycle. A real restriction is that cycle

*C* does not contain a smaller subcycle which is odd and includes

*v*_{i}. The computed odd cycle in Algorithm 4.1 meets these criteria if small values are added to all weights of

*H* which are 0. Let us now consider the details of Algorithm 4.3. After relabeling the nodes of cycle

*C*, the algorithm checks whether each second node is adjacent to it (step 6). It is enough to check only nodes which have an odd distance in the cycle; otherwise,

*C* would contain an odd subcycle. Therefore, we need the assumption already discussed. If two nodes in step 6 are adjacent, a chord has been detected. In step 7, the even cycle containing node

*v*_{i} is removed from

. The procedure starts again with this smaller odd cycle (step 9). Observe that the assumptions are also met by the smaller cycle. In step 14, an odd hole is returned. The running time is linear in the size of

*C* as each possible chord is only considered once. Therefore, one could extend Algorithm 4.2 by calling Algorithm 4.3 after step 2. This leads to a polynomial time separation routine for the odd-hole inequalities! Note that this separation is exact.