Rex Program for Checking all Combinations
encode(0) => [0, 0];
encode(1) => [0, 1];
encode(2) => [1, 0];
decode([0, 0]) => 0;
decode([0, 1]) => 1;
decode([1, 0]) => 2;
decode([x, y]) => "error, should not occur";
add3(i, j) = (i+j)%3;
addByCircuit(i, j) = decode(circuit(encode(i), encode(j)));
circuit([u, v], [w, x]) =>
[
!u && !v &&
w && !x
|| !u &&
v && !w &&
x
||
u && !v && !w && !x,
!u && !v && !w &&
x
|| !u &&
v && !w && !x
||
u && !v &&
w && !x
];