0 constant empty create-lut revsame-evenchkb-table create-lut revsame-oddchkb-table create-lut revsame-bothchkb-table : 6sum north south east west front back + + + + + ; : same-3d-show-evenchkb-rule 6sum dup 6 = swap 0 = or center' xor -> center center -> center' 6sum 3 > hv 0 = and -> shown propagate ; ?rule>table same-3d-show-evenchkb-rule revsame-evenchkb-table : same-3d-show-oddchkb-rule 6sum dup 6 = swap 0 = or center' xor -> center center -> center' 6sum 3 > hv 0 <> and -> shown propagate ; ?rule>table same-3d-show-oddchkb-rule revsame-oddchkb-table : same-3d-show-bothchkb-rule 6sum dup 6 = swap 0 = or center' xor -> center center -> center' 6sum 3 > -> shown propagate ; ?rule>table same-3d-show-bothchkb-rule revsame-bothchkb-table : reverse-rule center <-> center' propagate ; ?rule>table reverse-rule reverse-table : Rev-same-evenchkb ['] revsame-evenchkb-table ['] update-table copy-buffer when-starting 4 steps when-stopping ; press V "Reversible SAME-show-evenchkb rule." : Rev-same-oddchkb ['] revsame-oddchkb-table ['] update-table copy-buffer when-starting 4 steps when-stopping ; press O "Reversible SAME-show-oddchkb rule." : Rev-same-bothchkb ['] revsame-bothchkb-table ['] update-table copy-buffer when-starting 4 steps when-stopping ; press B "Reversible SAME-show-bothchkb rule." Rev-same-evenchkb