4.3 Guaranteed weight-three error correction 125

have four connections to C 1 . This is not possible as it would cause a 4-cycle. Hence:

w 2 (v 1 2 ,c) = −S , c ∈ {c1 5 ,c1 6 }

w 2 (v 1 2 ,c1 4 ) = −W

w 2 (v 1 2 ,c1 7 ) = −W

w 2 (v 1 1,: \c 1 4) = −W

w 2 (v 1 3,: \c 1 7) = −W

w 2 (v,c) = −W v ∈ N 0 (3|1), c ∈ C 2 ∩ N 1 (3|1)

w 2 (v 1 1 ,c1 4 ) = W

w 2 (v 1 3 ,c1 7 ) = W

w 2 (v,c) = W v ∈ N 0 (2|2), c ∈ C 2 ∩ N 1 (2|2)

w 2 (v,c) = W v ∈ N 0 (3|1), c ∈ C 1 ∩ N 1 (3|1)

w 2 (c,v) = S , otherwise

In the first half of the third iteration, we have

w 3 (v 1 2,:) = W

w 3 (v 1 1,: \c 1 4) = −W , w 3 (v 1 1,c 1 4) = W

w 3 (v 1 3,: \c 1 7) = −W , w 3 (v 1 3,c 1 7) = W

Lemma 14 All variables in V 1 are corrected at the end of the third iteration because, for

any v ∈ V 1 , w 3 (:, v) = W or S.

Proof : The proof is by contradiction. Let assume that there exists a variable in V \V 1 ,

say v, such that there exists c ∈ C 1 **and** w 3 (v, c) = −W or w 3 (v, c) = −S. Since it is

impossible that two −S messages go into v, as it would cause a 4-cycle, w 3 (v, c) = −W

or w 3 (v, c) = −S implies that v receives from its neighbors different of c three −W

messages, or one −S **and** two −W (see Table 4.3).

• If v receives three −W : As proved previously, v cannot have four neighbors in C 1 .

Hence, v must be connected to c 2 1 ∈ C 2 such that w 2 (c 2 1, v) = −W . With the above

described values of the messages in the second half of the second iteration, we see

that c 2 1 must be connected to a (3|1) type variable in V 2 , let say x 2 1 . Let notice that

there cannot be more than one (3|1) type variable in V 2 , otherwise five variables

would be connected to only twelve checks. Two cases arise:

◦ If v has at least two neighbors in C 2 ∩ N 1 (3|1), there are at least two (3|1)

type variables in V 2 , which has been proved to be impossible.

◦ If v has exactly one neighbor in C 2 ∩ N 1 (3|1), there would exist two (3|1)

type variables in V 2 : v **and** x 2 1. This case is not possible for the same reason

as above.

• If v receives two −W messages **and** one −S message: