I have a set, R consisting of 9 elements:

R = {A_1, A_2, A_3, A_4, B_1, B_2, B_3, B_4, C_1}

where

B_1 = A_1 + A_2,

B_2 = A_1 + A_3,

B_3 = A_3 + A_4,

B_4 = A_2 + A_4,

C_1 = A_1 + A_2 + A_3 + A_4.

I want to know how to do 2 things:

1) For each element x in R I want x to become x_1, x_2, and x_3 (where x_3 = x_2 + x_1). So for example:

A_1 will become A_11, A_12, A_13 (where A_13 = A_11 + A_12). This should create a total of 27 elements (since each of the 9 elements splits into 3). I want all 27 elements to go into a new set called S_1.

2) The second thing I want is a procedure that takes x in S_1 and y in S_1 and computes z=(x+y)mod2. If z is not already an element of S_1 then put it into a new set S_2. This procedure should terminate when all the possible additions of x and y have been computed. I know that S_2 will contain 162 elements (all of which are different from the 27 elements in S_1). Then I want the procedure to take x in S_1 and y in S_2 and do the same thing: z=(x+y)mod2, where new elements not in S_1 or S_2 will be placed in S_3. Then again repeat this: x in S_1 and y in S_r until no new sets S_{r+1} can be created (i.e. S_{r+1} is empty because no new possible elements exist).