This might be relevant (apologies if not, I'm somewhat unsophisticated and perhaps this is all old news, or not interesting.) :)
I was investigating G. Spencer-Brown's Laws of Form[1] by implementing it in Python. You can represent the "marks" of LoF as datastructures in Python composed entirely of tuples. For example: A mark: () A mark next to a mark: (), () A mark within a mark: ((),) and so on... It is known that the propositional calculus can be represented by the "arithmetic of the mark". The two rules suffice: ((),) == nothing () == (), () There are details, but essentially math and logic can be derived from the behaviour of "the mark". After reading "Every Bit Counts"[2] I spent some time trying to come up with an EBC coding for the circle language (Laws of Form expressed as tuples, See Burnett-Stuart's "The Markable Mark"[3]) With a little skull-sweat I found the following encoding: For the empty state (no mark) write '0'. Start at the left, if you encounter a boundary (one "side" of a mark, or the left, openeing, parenthesis) write a '1'. Repeat for the contents of the mark, then the neighbors. _ -> 0 () -> 100 (), () -> 10100 ((),) -> 11000 and so on... I recognized these numbers as the patterns of the language called 'Iota'.[4] Briefly, the SK combinators: S = λx.λy.λz.xz(yz) K = λx.λy.x Or, in Python: S = lambda x: lambda y: lambda z: x(z)(y(z)) K = lambda x: lambda y: x can be used to define the combinator used to implement Iota: i = λc.cSK or, i = lambda c: c(S)(K) And the bitstrings are decoded like so: if you encounter '0' return i, otherwise decode two terms and apply the first to the second. In other words, the empty space, or '0', corresponds to i: _ -> 0 -> i and the mark () corresponds to i applied to itself: () -> 100 -> i(i) which is an Identity function I. The S and K combinators can be "recovered" by application of i to itself like so (this is Python code, note that I am able to use 'is' instead of the weaker '==' operator. The i combinator is actually recovering the very same lambda functions used to create it. Neat, eh?): K is i(i(i(i))) is decode('1010100') S is i(i(i(i(i)))) is decode('101010100') Where decode is defined (in Python) as: decode = lambda path: _decode(path)[0] def _decode(path): bit, path = path[0], path[1:] if bit == '0': return i, path A, path = _decode(path) B, path = _decode(path) return A(B), path (I should note that there is an interesting possibility of encoding the tuples two ways: contents before neighbors (depth-first) or neighbors before content (breadth-first). Here we look at the former.) So, in "Laws of Form" K is ()()() and S is ()()()() and, amusingly the identity function I is (). The term '(())foo' applies the identity function to foo, which matches the behaviour of the (()) form in the Circle Arithmetic (()) == _ ("nothing".) (())A -> i(i)(A) -> I(A) -> A I just discovered this (that the Laws of Form have a direct mapping to the combinator calculus[5] by means of λc.cSK) and I haven't found anyone else mentioning yet (although [6] might, I haven't worked my way all the way through it yet.) There are many interesting avenues to explore from here, and I personally am just beginning, but this seems like something worth reporting. Warm regards, ~Simon Peter Forman [1] http://en.wikipedia.org/wiki/Laws_of_Form [2] research.microsoft.com/en-us/people/dimitris/every-bit-counts.pdf [3] http://www.markability.net/ [4] http://semarch.linguistics.fas.nyu.edu/barker/Iota/ [5] http://en.wikipedia.org/wiki/SKI_combinator_calculus have [6] http://memristors.memristics.com/Combinatory%20Logic%20and%20LoF/Combinatory%20Logic%20and%20the%20Laws%20of%20Form.html -- http://twitter.com/SimonForman My blog: http://firequery.blogspot.com/ Also my blog: http://calroc.blogspot.com/ "The history of mankind for the last four centuries is rather like that of an imprisoned sleeper, stirring clumsily and uneasily while the prison that restrains and shelters him catches fire, not waking but incorporating the crackling and warmth of the fire with ancient and incongruous dreams, than like that of a man consciously awake to danger and opportunity." --H. P. Wells, "A Short History of the World" _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc