We imagine a digital notebook of cells: each cell can be 0, 1, or blank. Select a 3xN rectangle and the computer can verify that the first two rows as binary numbers sum to the third. Key idea: the computer does not do the addition for you; it only checks that you've done it right (of course; it has to do the addition internally to do the check).
Select two 1xN rectangles and the computer will verify that the contents are the same. This helps you copy a number from one place in the notebook to another.
More fancy "copy": One rectangle can be horizontal and the other vertical. The rectangles can have direction: this allows reversing the bits. Strided copy: one rectangle can be (say) 3 times wider than the other. The digits in the wider copy should be separated by blanks.
This is probably enough gadgets to do binary long multiplication. From there, to infinity and beyond.
Allow cells to have text annotations. Resembles a spreadsheet.
More operations: AND, OR, NOT, XOR. With these operations, one could remove addition. The notebook becomes a trace of a binary digital computation. It would be easy to set up SAT puzzles.
We might want more complicated templates than the addition rectangle, though that becomes less elegant.
Or, build this as a physical mechanical or electromechanical device. Probably best to limit to simple Boolean operations (and 3-input 2-output adder). We need some adjustable arm to work on a series of tuples of bits a fixed distance apart.
No comments :
Post a Comment