let masters :=8; for {master in 1..masters} { let Codewords[master] := {}; let Codewords_trip[master] := {}; } for{master in 1..masters} { let Codewords[master] := union{ n1 in {11..11} inter Reversible, n2 in union{i in 1..192: n1 in Codes7a[i]} Codes7a[i] diff {n1}, n3 in union{i in 1..192: {n1,n2} within Codes7a[i]} Codes7a[i] diff {n1,n2}, n4 in union{i in 1..192: {n1,n2,n3} within Codes7a[i]} Codes7a[i] diff {n1,n2,n3}, n5 in union{i in 1..192: {n1,n2,n3,n4} within Codes7a[i]} Codes7a[i] diff {n1,n2,n3,n4}, n6 in union{i in 1..192: {n1,n2,n3,n4,n5} within Codes7a[i]} Codes7a[i] diff {n1,n2,n3,n4,n5}, n7 in union{i in 1..192: {n1,n2,n3,n4,n5,n6} within Codes7a[i]} Codes7a[i] diff {n1,n2,n3,n4,n5,n6} } if exists{i in 1..192} ( {op_reverse[codes7b[master,1],n1]} union {op_reverse[codes7b[master,2],n2]} union {op_reverse[codes7b[master,3],n3]} union {op_reverse[codes7b[master,4],n4]} union {op_reverse[codes7b[master,5],n5]} union {op_reverse[codes7b[master,6],n6]} union {op_reverse[codes7b[master,7],n7]} ) symdiff Codes7a[i] within {} then {(n1,n2,n3,n4,n5,n6,n7)} else {} } for{master in 1..masters, (n1,n2,n3,n4,n5,n6,n7) in Codewords[master]} { for{ii in 1..7} { let xyz[ii] := codes7b[master,ii]; let tvw[ii] := if ii = 1 then n1 else if ii = 2 then n2 else if ii = 3 then n3 else if ii = 4 then n4 else if ii = 5 then n5 else if ii = 6 then n6 else if ii = 7 then n7 } if forall{i in 1..7, j in i+1..7} op_xor [ op_reverse[xyz[i],tvw[i]], op_reverse[xyz[j],tvw[j]] ] != 0 then ; else continue; if forall{i in 1..7, j in i+1..7, k in j+1..7} # for any three ( op_xor[ op_reverse[ op_xor[xyz[i],xyz[j]], op_xor[tvw[i],tvw[j]] ], op_reverse[ op_xor[xyz[i],xyz[k]], op_xor[tvw[i],tvw[k]] ] ] !=0 or op_xor[ op_reverse[ op_xor[xyz[i],xyz[j]], op_xor[tvw[i],tvw[j]] ], op_reverse[ op_xor[xyz[j],xyz[k]], op_xor[tvw[j],tvw[k]] ] ] !=0 or op_xor[ op_reverse[ op_xor[xyz[i],xyz[k]], op_xor[tvw[i],tvw[k]] ], op_reverse[ op_xor[xyz[j],xyz[k]], op_xor[tvw[j],tvw[k]] ] ] !=0 ) then ; else continue; let Codewords_trip[master] := Codewords_trip[master] union {(n1,n2,n3,n4,n5,n6,n7)}; } for{i in 1..masters} display card(Codewords[i]); for{i in 1..masters} display card(Codewords_trip[i]);