Maximum Difference about the Size of Optimal Identifying Codes in Graphs Differing by One Vertex

Let G = (V, E) be a simple undirected graph. We call any subset C ⊆ V an identifying code if the sets I(v) = {c ∈ C | {v, c} ∈ E or v = c} are distinct and non-empty for all vertices v ∈ V. A graph is called twin-free if there is an identifying code in the graph. The identifying code with minimum size in a twin-free graph G is called the optimal identifying code and the size of such a code is denoted by γ(G). Let GS denote the induced subgraph of G where the vertex set S ⊂ V is deleted. We provide a tight upper bound for γ(GS) − γ(G) when both graphs are twin-free and |V | is large enough with respect to |S|. Moreover, we prove tight upper bound when G is a bipartite graph and |S| = 1.


Introduction
Let G = (V, E) be an undirected graph where V is the vertex set and E the edge set.The order of the graph G is the number of vertices |V | and it is denoted by n or n G .The neighbourhood of a vertex v is If the graph is clear from the context, we usually denote N (v) instead of N (v, G).Two vertices u and v are called twins if their neighbourhoods are the same, i.e.N (u) = N (v).A graph is called twin-free if there are no twins, i.e. all sets N (v) are distinct.
We call any C ⊆ V a code.The vertices of C are called codewords.A code is called an identifying code if the sets Identifying codes were introduced in the late 1990s by Karpovsky, Chakrabarty and Levitin [9].The purpose of such codes is to create a safeguard analysis of a facility [11,12] or a fault diagnosis of multiprocessor systems [9].More papers on identifying codes and related topics can be found in the web bibliography [10].It has been shown that there is an identifying code in a given graph if and only if the graph is twin-free [3, Remark 1].Therefore, in this paper we restrict to twin-free graphs.In this case, the code which consists of all the vertices of a graph is always an identifying code.Moreover, if we add a vertex to an identifying code, the extended code is also an identifying code.
An interesting question among identifying codes is what the minimum size of any identifying code in a given graph is.A minimum sized identifying code is called optimal.The size of an optimal identifying code of G is denoted by γ(G).
This paper is about how much the size of an optimal identifying code can increase if some vertices are deleted from the graph.In other words, we study the difference of γ(G S ) − γ(G) where G = (V, E) is any graph and G S = (V \ S, {{u, v} ∈ E | u / ∈ S and v / ∈ S}), i.e. the induced subgraph of G where the subset S of vertices is deleted.If S = {x} contains only one vertex we typically refer to G x instead of G S .Moreover, we denote the order of graphs G x and G S by n x and n S respectively.Foucaud et al [6] proved that γ(G S ) − γ(G) ≥ −|S|.Moreover, many such graphs as G and G S which satisfy the equation γ(G S ) − γ(G) = −|S| are known.On the other hand, Charon et al [2] showed that there are twin-free graphs G and G x such as γ(G x ) − γ(G) ≈ n 2 − 3 2 log 2 n.This in particular means that γ(G) is not a monotone parameter with respect to the subgraph inclusion order.
In this paper, we prove the following inequalities of the difference between the sizes of optimal identifying codes in G and G S : Besides, we show that the first inequality is tight for all n and the second inequality is tight when n is large enough with respect to S. We also show that there are connected graphs G and G x which attain this maximal value if n is odd and greater than 3. Instead, if n is even, then there are no such connected graphs except if n = 6 or n = 8.Finally, we improve the previous upper bound for the case when G is bipartite.We prove the bound for such graphs and show that it is tight for all n ≥ 3.

Constructions
Theorem 1.For every n ≥ 2 there exists a twin-free graph G = (V, E) and a vertex x ∈ V such that G x is twin-free and x (e) n = 6 x Fig. 1: A graph G where γ(Gx) − γ(G) is maximal for small orders n.Black dots are codewords of an optimal identifying code in G.
Proof: For n ≤ 6 or n = 8, an example of a graph for which the inequality is tight is given in Figure 1.
Assume that n = 7 or n ≥ 9. First, we define t = n−1

2
. We can now construct the following family of graphs.Let G be the graph with the vertex set and the edge set Moreover, there is an edge {x, y} ∈ E if n is even.Some examples of these constructions are shown in Figure 2.  We first show that C separates x from all the other vertices.First, if n = 7, x is the only vertex whose neighbourhood does not contain any codeword other than x.If t is even, so x is the only vertex whose neighbourhood contains v 1 but not v 3 .Otherwise t is odd and at least 5. Then v 2 / ∈ I(x) and v t+2 / ∈ I(x).Now, v 1 and v 2 are the only vertices in addition to x whose neighbourhoods do not contain v t+2 .However, the neighbourhoods of both v 1 and v 2 contain v 2 , so x is also separated from these vertices by C.

Now, we show that
Next, we prove that v i and v j are separated by C for all i and j when i = j.Without loss of generality, we assume i < j.If j − i = 1 then exactly one of I(v i ) and I(v j ) contains x except if i = 2 and j = 3.However, since v t+2 ∈ I(v 3 ) \ I(v 2 ), then v 2 and v 3 are also separated.Now assume that j − i ≥ 2. This claim essentially follows since the only couples of consecutive non-codewords are v t and v t+1 and (for n even) ) and one of these two vertices is a codeword which separates v t+1 and v t−1 .
If n is even and n ≥ 10, we must also separate y from the other vertices.Now, I(y) = {x} and for all v ∈ V \ {y}, the set I(v) contains either v t−1 or v t+2 (including when v = x since t = n−1 2 ≥ 4).Therefore, y is separated from all other vertices by C. We can also see that the set I(v) is non-empty for every v ∈ V .
Thus, C is an identifying code of size t = n−1

2
. Notice that G x is twin-free since it is the disjoint union of a vertex and the power of a path.Besides, it has been shown in [6] that such power of a path is a tight example for Lemma 7 and hence, any minimum identifying code of G x has size n − 2. Hence Theorem 2. For every s ≥ 1 and n such that n ≥ 4 • 2 s + s, there exists a twin-free graph G = (V, E) and a set S = {x 1 , . . ., x s } ⊆ V such that G S is twin-free and From this follows that k = n−s 2 s .Moreover, we define t = 2 s • k.First, we define the graph G S = (V S , E S ) that consists on vertices P = {v 1 , v 2 , . . ., v t } which form a power of a path such that there is an edge between v i and v j if |i − j| < t 2 .Moreover, there are l isolated vertices Y = {y 1 , y 2 , . . ., y l }.Now we can show in the same way as in the proof of Theorem 1 that γ(G S ) = n S − 1.
The graph G is constructed from G S by adding the set of vertices S = {x 1 , x 2 , . . ., x s }.Every vertex of Y will have a unique set of vertices of S in its neighbourhood.Similarly, we can partition vertices of P into k sets which all contain 2 s consecutive vertices (v i•2 s +1 , . . ., v (i+1)2 s ).Every vertex of such a subset has a unique set of vertices of S in its neighbourhood.Thus, all the vertices in a given subset are separated from each other by S. The graph G = (V, E) can be defined as follows: is an optimal identifying code in G and it contains n−s An example of such a graph and an optimal code is given in Figure 3, when |S| = 2 and n = 21.On the other hand, V S \ {v 1 } is an optimal identifying code in G S .
The details of the proof can be proved in a similar way as in the proof of Theorem 1 and the details of this proof are ignored.
Y is chosen so that all these vertices have at least two neighbours which belong to the set S.
Theorem 4. Let k be the smallest integer such that n ≤ 2 k + k.There is a bipartite graph G = (V, E) We define G = (V, E) as follows: and n ≥ 13, then a 3 and b 3 are replaced by The edge {y, x} naturally belongs to E only if y ∈ V .The graph G is bipartite since exactly one of the ends of each edge is x or c i for some i.The graph G is given in Figures 4(a), 4(d) and 4(f) when n is 6, 11 and 13, respectively.Now, we show that is an identifying code of G, and we see that γ(G) ≤ |C| = k + 1.First, z is the only vertex which is dominated by x, z and c 1 .Second, x is the only vertex which is dominated by x and z but not c 1 .Moreover, y is the only vertex in addition to x which is not dominated by c i for any i.Then, x, y and z are separated from all other vertices.Now, c i is the only vertex which is dominated by c i and z.Therefore, every c i is separated from all other vertices.Furthermore, x dominates a i for all i, but not any b j , i.e. a i is separated from b j for all i and j.Finally, every a i is dominated by a unique set of vertices c j .Thus, a i is separated from a j if i = j.In the same way we show that b i and b j are separated.Thus, we have shown that C is an identifying code. Let be a code of G x .Again, y naturally belongs to C x only if y ∈ V .We prove that there is not an identifying code of G x with smaller cardinality than |C x |.First, if y ∈ V , it is isolated and must be a codeword of every identifying code of G x .Second, a i and b i are the only vertices which are able to separate a i and b i .Without loss of generality, we can assume that a i belongs to the identifying code for all i.The vertices z and b 2 k−1 −1 must still be separated and z and b 2 k−1 −1 are the only vertices which can do it since every c i belongs to the neighbourhood of both z and b 2 k−1 −1 .Again, we can assume without loss of generality that z belongs to C x .Finally, the vertices b i are not dominated by z and a j .Moreover, the neighbourhood of the vertex b 2 i contains only c i in addition to b 2 i .Then, either c i or b 2 i must belong to any identifying code.Now we have seen that the cardinality of every identifying code of G x is at least and z and possibly y.Hence, Remark 5. Theorem 4 and the construction of the proof of this theorem are also valid if n = 8 or n = 9.
The reasons why |C| and |C x | are optimal identifying codes of G and G x respectively, are valid despite the fact that there is not a vertex b 2 in G.The vertex b 2 only has b 2 and c 2 in its neighbourhood.We can assume as in the proof of Theorem 4 that a 1 , a 3 and z are codewords of C x .Now, b 1 and b 3 are not dominated.These two vertices can not both be dominated and separated by only one codeword.Therefore, the set Thus, C x is optimal.Remark 6. Theorem 4 is valid also if n ∈ {3, 4, 7, 12} but either G is not defined or C x is not an optimal identifying code of G x .The claim follows from the constructions in Figures 1(b) and 1(c) in the cases n = 3 and n = 4 respectively.If n = 7, the same construction as the proof of Theorem 4 is a valid example, but the optimal codes of G and G x are {z, c 1 , x} and {z, c 1 , a, y} respectively.The case n = 12 follows from the construction where V = {x, c 1 , c 2 , c 3 } ∪ {a i , b i : i = 3, 5, 6, 7} and the edges define in a similar way as in the proof of Theorem 4. Now, it is possible to show that C = {x, c 1 , c 2 , c 3 } and C x = {a 3 , a 5 , a 6 , a 7 , c 1 , c 2 , c 3 } are optimal identifying codes of G and G x respectively.

Upper bounds for γ(G x ) − γ(G)
We first give some basic results which are needed in this section.Lemma 7 ([7,1]).Let G = (V, E) be a twin-free graph with n vertices, and at least one edge, then

Lemma 9 ([9]
).Let G = (V, E) be a twin-free graph of order n and E = ∅.If (exactly) one end of each edge of E is x ∈ V , then We next show the upper bound for γ(G S ) − γ(G) in general case.
Theorem 10.Let G be a twin-free graph on n vertices and let equivalence classes in addition to T ∅ .In all cases, the number of the other than T ∅ equivalence classes is at least From this follows that Theorem 11.Let G be a twin-free graph on n ∈ {2, 4, 5, 6, 8} vertices.For every Proof: The case n = 2 is straightforward to check.Assume now that n ≥ 4. If an optimal identifying code of G x contains n x codewords, there are no edges in G x .Then one end of all edges in G is x and γ(G) Proof: The claim follows by Theorems 1, 10 and 11. .
Proof: The claim follows by Theorem 10 and Lemma 8.
The inequality of Corollary 13 is almost tight.Indeed, Charon et al [2] proved that there are graphs G and ).There is nevertheless a small gap between the construction of Conclusion 6 [2] and Corollary 13.In fact, the construction of the proof in Theorem 4 is very similar to the construction of Conclusion 6 [2] and it also satisfies the approximate equation 2 log 2 n .Next, we show that if n is even and large enough and γ(G x ) − γ(G) reaches the upper bound γ(G x ) − γ(G) = n 2 − 1, then G x must be disconnected.
Proposition 14.There does not exist graphs G and G x such that G x is connected and γ(G x ) − γ(G) = n 2 − 1 if n is even and at least 10.
Proof: Assume the contrary that G and G x would be such graphs.Let C be an optimal identifying code of G.The vertices of G x can be divided into equivalence classes T R as the proof of Theorem 10.In particular, every equivalence class contains at most 2 vertices.Therefore, two vertices are called a pair if the vertices belong to the same equivalence class.Since n is even, then n x is odd.From this follows that there are at most nx−1 2 pairs and at least one equivalence class which contains only one vertex.Now, if γ(G x ) − γ(G) = n 2 − 1, then every vertex must belong to a pair except one vertex y which satisfies the condition I(y, C) = {x}.Moreover, any two pairs are not separated by the same vertex of G x and any vertex which dominates y does not separate any of these pairs.Since G x is connected, y has at least one neighbour in G x .Assume that v 1 and y are connected by an edge.Let u 1 be the pair of v 1 that is C \ {x} does not separate v 1 and u 1 .Now, if u 1 and y were not neighbours then y would separate v 1 and u 1 in addition to dominating y.Thus, all the vertices y, v 1 and u 1 can dominate y.Therefore any of these three vertices can not separate any of these nx−1 2 pairs.Now, we show the claim by induction.Assume that y, v 1 , . . ., v k and u 1 , . . ., u k can separate only the pairs {v i , u i }, where i = 1, 2, . . ., k − 1.Let {v k+1 , u k+1 } be the pair such that at least one of these vertices separate the pair {v k , u k }.Without loss of generality, we can assume that there is an edge between v k and v k+1 but not between u k and v k+1 .Now, if there is not an edge between v k and u k+1 , then v k separates the pair {v k+1 , u k+1 } against the assumption of induction.Similarly, if there is an edge between u k and u k+1 , then u k separates {v k+1 , u k+1 }.Again, this is against the assumption of induction.Therefore both u k+1 and v k+1 can separate the pair {v k , u k }.Thus, none of these two vertices can separate any other pair.Hence, any of the vertices y, v 1 , . . ., v k+1 and u 1 , . . .u k+1 can not separate any other pairs except {v i , u i }, when i = 1, 2, . . ., k.In other words, y and k + 1 pairs can separate only k pairs and this holds for all k.This is nevertheless impossible since the graph is finite.Therefore it is impossible that G x is connected if n ≥ 10, n is even and γ(G x ) − γ(G) = n 2 − 1.Next we prove an upper bound for γ(G x ) − γ(G) among the bipartite graphs.
Theorem 15.For bipartite twin-free graphs G and G x , the maximum difference between γ(G x ) and γ(G) is Proof: Let C be an optimal identifying code in G and C \ {x} be a code in G x .Let A and B be a partition of all vertices V such that if there is an edge between vertices u and v, then one of these two vertices belongs to A and the other belongs to B. Assume also that x belongs to B. Moreover, if there is a vertex v such that I(v, C) = {x} and v = x, the vertex is denoted by y.Observe that y is not dominated by C \ {x}.
Step 1.The partition of pairs If C \ {x} does not separate u and v, then u and v is said to be a pair.A pair of u and v is called AA-pair if both u and v belong to A. Also, the set AA denotes the set of vertices which belong to some AA-pair.Furthermore, |AA| denotes the number of vertices of AA-pairs.Thus, the number of AA-pairs is 1  2 |AA|.Similarly, a pair is called AB-pair if exactly one of the vertices of the pair belongs to A and the other one belongs to B. Notice that there can not be a pair between two vertices of the set B since x can not belong to the neighbourhood of any vertex of B except the neighbourhood of x.
We still divide AB-pairs into two disjoint sets AB * -and AB ′ -pairs.Let a ∈ A and b ∈ B be an AB-pair.
• If there is an AA-pair of a ′ and a ′′ such that both a ′ and a ′′ are the neighbours of b, then a and b are an AB * -pair.
• Otherwise, the pair of a and b is an AB ′ -pair.
We furthermore partition AB ′ -pairs into four disjoint sets AB ′ α1 , AB ′ α2 , AB ′ α3 and AB ′ β or two sets and b ∈ AB ′ be an AB ′ -pair and a ′ and b ′ be another AB ′ -pair.Notice that a and b belong to the same connected component in G ′ since there must be an edge between a and b or else the neighbourhoods of a and b would be totally distinct in G.
• If the pair of a and b belongs to the connected component whose cardinality is at least six vertices in G ′ , the pair belongs to AB ′ α3 .
• If a, b, a ′ and b ′ form a connected component of four vertices and if at least one of the pairs has no neighbours in G except x, a, a ′ , b and b ′ , then all the vertices a, b, a ′ and b ′ belong to AB ′ α2 .
• If there is an AB ′ -pair of a ∈ A and b ∈ B such that the vertices do not belong to the set AB ′ α2 ∪ AB ′ α3 and b has a neighbour which belongs to the set AA, then a and b belong to AB ′ α1 .
Notice that at least one of the vertices of AB ′ β -pair must have such a non-codeword neighbour that does not belong to AA ∪ AB ′ .Otherwise, the pair would be an AB ′ α -pair or G x would not be twin-free.Let us have a look some basic properties of AA and AB-pairs.First, no vertex of AA belongs to the code C since there are no edges between two vertices of AA.Secondly, if there is an AB-pair of a ∈ A and b ∈ B, then a and b are the only vertices which can belong to the neighbourhoods of both a and b.Then a, b and x are the only possible codewords in their neighbourhoods.On the other hand, a or b belongs to C, since b has to be dominated by C. Especially, if a and b belong to AB ′ α , then a or b is able to separate another pair, and from this follows that this vertex can not be a codeword.It also means that either a or b is a leaf of G ′ and a codeword of C.

Step 2. The set B *
We first prove that the cardinality of where |AA| is the number of vertices in AA-pairs.We see that all codeword neighbours of a ∈ AA belong to the set B * ∪ {x} since a and its pair a ′ must have the same codeword neighbours apart from x, and if b ∈ AB is a codeword neighbour of both a and a ′ , then b belongs to AB * .Moreover, every vertex in AA has to be dominated by at least one codeword of B * since vertices of AA have to be non-codewords and only one vertex of each pair is dominated by x.Furthermore, codewords in B * are the only codewords which can separate AA-pairs from other AA-pairs.Since we can form at most 2 |B * | − 1 non-empty subsets from |B * | codewords, then the number of AA-pairs is Step 3. The construction of C x Next, we construct an identifying code C x of G x and show that is the number of non-codewords which are dominated only by x.
Let C x = C \ {x} or C x = C ∪ {y} \ {x} in the beginning, depending on whether there exists a vertex y in G.Then, we add and delete vertices to/from C x in the following way: Step 3.1.Separation of AB ′ α3 -pairs: Firstly, we study an AB ′ α3 -pair of a ∈ A and b ∈ B. Let T be a connected component of G ′ that contains a and b. (Since ab is an AB ′ α3 -pair, the size of the connected component is at least 6.) Let T ′ be an induced subgraph of T which contains non-codewords of C, i.e.T ′ contains one vertex of each pair of T and the vertices of T ′ are exactly all non-leaves of T .In particular, T ′ is connected and its order is at least three.Let T D be a minimum total dominating set of T ′ , i.e. such a set that every vertex of T ′ has a neighbour which belongs to T D .We now note that C x ∪ T D separates a and b and also all the other pairs of T .Since either a or b belongs to T ′ , this vertex must have a neighbour which belongs to T D .Moreover, it is known that every connected graph T ′ of order at least three has a total dominating set with at most 2  3 • |T ′ | codewords [5,8].Moreover, T contains |T ′ | AB ′ α3 -pairs.Therefore all AB ′ α3 -pairs can be separated adding Step 3.4.Separation of AA-pairs and AB ′ α1 -pairs: Finally, we add the following non-codewords of AA to the code C x .First, every AB ′ α1 -pair has at least one neighbour which belongs to AA.We add one of these neighbours to C x for every AB ′ α1 -pair.Second, if none of the vertices of an AA-pair is not yet added to C x , then we add one of these two vertices to C x .Now we have added at least one of the vertices of each AA-pair to C x .However, if there is an AA-pair of a and a ′ such that both a and a ′ belong to C x now, this means that there have to be two AB ′ α1 -pairs such that a has been added by another AB ′ α1 -pair and a ′ by the other AB ′ α1 -pair.Therefore, a and a ′ are able to separate three pairs: an AA-pair and two AB ′ α1 -pairs.In particular, we add at most 1 2 |AA| + 1 4 |AB ′ α1 | vertices of the set AA to C x in the final state.
Step 3.5.The Conclusion of Step 3 and the separation of AB * -pairs: Now, we have seen that C x separates AA-pairs and AB ′ -pairs.Moreover, it separates AB * -pairs since at least one of the vertices of every AA-pair is a codeword of C x .Therefore, C x is an identifying code of G x .Moreover, where the term −1 follows since x belongs to C but not C x . Step Now, the next inequality follows from Equations ( 3) and ( 4): Next, we denote S ′′ = AB ′ ∪ S.Then, the first equality of Equation 4 can be written as follows: Step 4.
c} ∈ E or c = v} are distinct and non-empty for all vertices v ∈ V .Usually we denote these sets by I(v) instead of I(v, C) if the code C is clear from the context.Furthermore, if I(v, C) = I(u, C) and w ∈ (I(v, C) \ I(u, C)) ∪ (I(u, C) \ I(v, C)) we say that C or w separates v from u.If w ∈ I(v, C), we say that v is dominated by w or C. Otherwise stated, C is an identifying code if all vertices are dominated and separated from each other by C.
is an identifying code of G.The black dots in Figures2(a), 2(b) and 2(c) illustrate the code C when n = 7, n = 10 and n = 11 respectively.

2 Fig. 3 :
Fig. 3: A such graph G where γ(GS)−γ(G) is maximal when |S| = 2 and n = 21.The black dots are an identifying code of G. Notice that all edges between the vertices in the path are not drawn in the figure.

Fig. 4 :
Fig. 4: Bipartite graphs G such that γ(Gx) − γ(G) is maximal within these bipartite graphs.The maximality of Constructions 4(a), 4(d) and 4(f) follows from Theorem 4. The maximality of Constructions 4(c) and 4(b) and 4(e) follows from Remarks 5 and 6.The black dots are an identifying code of G.The vertices ai, cj , x and y are an optimal identifying code of Gx.
then the claim follows since |S| = ⌈log 2 (n + 1)⌉ by Lemma 8 and since an optimal identifying code of G S contains at most n S = n − |S| codewords.Assume then that n ≥ 2 |S| .Let C be an optimal identifying code of G. Now, we construct an identifying code C S of G S .Let C S = C \ S in the beginning.Next, we partition the vertices of G S into equivalence classes T R such that the vertex v belongs to T R if I(v, C \ S) = R.We can also assume that all vertices of S belong to C. Otherwise we can reduce it to a smaller graph.Moreover, the right hand side of Equation (1) increases when |S| increases and n ≥ 2 |S| .First, we can observe that every class T R can contain at most 2 |S| vertices.However, there can be at most 2 |S| − 1 vertices in T ∅ .Now we can separate vertices of T R by adding at most |T R | − 1 codewords to C S if R = ∅.Instead we may need to add |T ∅ | vertices to C S so that all vertices of T ∅ are dominated (and separated from each other).There have to be at least |GS| 2 |S| non-empty equivalence classes if T ∅ = ∅.Otherwise, there are at least |GS|−(2 |S| −1)

1 and now the claim follows again by Lemma 8 .
Corollary 12. Let G = (V, E) be a twin-free graph with n vertices.Then, γ(G x ) − γ(G)

1 3
|AB ′ α3 | codewords to C x .(Notice that there are 1 2 |AB ′ α3 | different AB ′ α3 -pairs.)Step 3.2.Separation of AB ′ α2 -pairs: Let a, b, a ′ and b ′ be the vertices of a connected component of G ′ such that a and b is an AB ′ α2 -pair and a ′ and b ′ is another AB ′ α2 -pair.As we formerly mentioned in the end of Step 1 there has to be exactly two leaves of the connected component and the leaves are codewords of C, but the other vertices are not.Therefore, the component has to be a path (either a − b − a ′ − b ′ or a ′ − b ′ − a − b).Without loss of generality, we can assume that the path is a − b − a ′ − b ′ and a and b have no neighbours apart from x, a, b and a ′ in G. Now, a and b ′ belong to C. We show that C ∪{b, a ′ } \ {a, x} separates any vertices u ∈ V \ {x} and v ∈ V \ {x, u} if C \ {x} also separates them or u or v belongs to the set {a, b, a ′ , b ′ }.First, a and b are the only vertices of G x such that a vertex has been deleted from their identifying set.Then it is enough to show that a and b are separated from all other vertices of G x and a ′ is separated from b ′ .This is valid, since a, b and a ′ are the only vertices which are dominated by b and the identifying sets I(a) = {b}, I(b) = {b, a ′ } and I(a ′ ) ⊇ {b, a ′ , b ′ } are different.All in all, we need to add two vertices to C x and we can delete a vertex from C x .Therefore, all AB ′ α2 -pairs can be separated by increasing the number of codewords of C x by 1 4 |AB ′ α2 |.Step 3.3.Separation of AB ′ β -pairs: If a and b belong to an AB ′ β -pair, then a or b must have a noncodeword neighbour v such that v / ∈ AA ∪ AB ′ .We add v to C x .Notice that a and b may have many such neighbours v but we add only one of such vertices to C x .Moreover, it is possible that we add the same vertex v because of more than one AB ′ β -pair.All in all, we need to add at most 1 2 |AB ′ β | codewords to C x .The set of the vertices which add to C x by AB ′ β -pairs is called the set S. Thus, |S| ≤ 1 2 |AB ′ β | and we also know that S ∩ (AA ∪ AB ′ ∪ B * ) = ∅ since B * ⊆ C and S ∩ C = ∅.

First, 1 .
|S ′ |, |S ′′ | and |y| are non-negative integers.If y is constant, then f is decreasing when |S′ | or |S ′′ | increases.Therefore, f (n, 0, 0, 0) is an upper bound for |C x | − |C| if |y| = 0. Otherwise, |y| = 1.Again, if |S ′ | ≥ 1, then f (n, 1, 0, 1)is an upper bound for |C x | − |C|.Assume then that |S ′ | = 0 and |y| = Now x must have a codeword neighbour c ∈ C in G, since I(y, C) = {x}.Moreover, since no codeword belongs to S ∪ AA, then c has to belong to AB ′ = S ′′ \ S. Furthermore, at least either c or x must have another neighbour c ′ ∈ C or else I(x, C) = {x, c} = I(c, C).If c ′ is a neighbour of x, then there are at least two AB ′ -pairs and then |S ′′ | ≥ |AB ′ | ≥ 4. If there are at least 4 vertices in S ′ , then |C x | − |C| ≤ f (n, 0, 4, 1).Otherwise, there are at most 3 vertices in S ′ , and c ′ is a neighbour of c.Then, c ∈ A and c ′ ∈ B must be the only AB ′ -pair.Now c or c ′ has to be a neighbour v in addition to x, c and c ′ , since G x is twin-free.On the other hand, v does not belong to any pair.Indeed, c or c ′ would separate this 4. An upper bound for |C x | − |C| We recall that the sets AA, AB ′ α , AB ′ β , S and B * are disjoint and none of these contain x or y.If we denote the other vertices of G by S