Tag Archives: louis kauffman

Chemlambda artificial chemistry at ALIFE14: article and supplementary material

Louis Kauffman presents today our article in the ALIFE 14 conference, 7/30 to 8/2 – 2014 – Javits Center / SUNY Global Center – New York

Chemlambda, universality and self-multiplication

Marius Buliga and Louis H. Kauffman

Abstract (Excerpt)

We present chemlambda (or the chemical concrete machine), an artificial chemistry with the following properties: (a) is Turing complete, (b) has a model of decentralized, distributed computing associated to it, (c) works at the level of individual (artificial) molecules, subject of reversible, but otherwise deterministic interactions with a small number of enzymes, (d) encodes information in the geometrical structure of the molecules and not in their numbers, (e) all interactions are purely local in space and time. This is part of a larger project to create computing, artificial chemistry and artificial life in a distributed context, using topological and graphical languages.

DOI: http://dx.doi.org/10.7551/978-0-262-32621-6-ch079
Pages 490-497

Supplementary  material:



Halfcross way to pattern recognition (in zipperlogic)

Inspired by the Zipper logic and knot diagrams post, here is an alternate encoding of chemlambda.

This is part of the series on zipper logic (branded in this post as  “zipperlogic”).  The last post is Zipper logic (VI) latest version, detailed.

As can be seen in that post, zipperlogic is equivalent with chemlambda, but it has two interesting qualities: is more intuitive and it has the CLICK move.

The CLICK move  transforms a pair of opposed half-zippers into a  zipper, which is then unzipped with the ZIP move. While the ZIP move is equivalent with the graphic beta  move, there is no correspondent to the CLICK move, apparently.

The CLICK move becomes useful when we use other realizations of the zipperlogic than chemlambda.    In the one where half-zippers are realized as towers of crossings, the CLICK move turns out to be a pattern recognition move, and the ZIP move becomes the familiar R2 (Reidemeister 2) move, applied to that pattern.

That is why CLICK is interesting: because in order to apply moves in chemlambda, we have first to identify the patterns where these moves may be used.

Now, I want to justify this in the following.  I shall not aim for another realization of zipperlogic, but for one of chemlambda, inspired by the one of zipperlogic seen as acting on towers of crossings.

I shall use half-crossings.  Recall that in the post Slide equivalence of knots and lambda calculus (I) I wrote:

Louis Kauffman proposes in his book Knots and Physics  (part II, section “Slide equivalence”), the notion of slide equivalence. In his paper “Knotlogic” he uses slide equivalence (in section 4) in relation to the self-replication phenomenon in lambda calculus. In the same paper he is proposing to use knot diagrams as a notation for the elements and operation of a combinatory algebra (equivalent with untyped lambda calculus).


Obviously, we have four gates, like in the lambda calculus sector of the graphic lambda calculus. Is this a coincidence?


So this post can be seen as a try to answer this question.

But the halfcrossings which I use here are different than the ones defined by Louis Kauffman. There might be a way to transform ones into the others, but I have not found it yet.


Here is the encoding of chemlambda by halfcrossings:


Remark that each of the halfcrossings has a dangling, vanishing thread, like in the previous post Bacterial conjugation is beta reduction.

[I shall come back in later posts to the relevance of this formalism for horizontal gene transfer.]

Look at this as a new notation for chemlambda nodes and just replace  the green and red nodes by these halfcrossings in order to get the right moves for the halfcrossings.

With an exception: the CLICK move. This move consists into joining neighbouring dangling threads, in two situations, one related to the beta move, the other related to the FAN-IN move.

Look how the beta move appears with halfcrossings and the CLICK move used for pattern recognition (in the figure this s calld “pattern id”):


Nice, right?


Now, the other CLICK move, involved into the identification of the pattern appearing  in the FAN-IN move.


In a future post I shall look at the DIST moves, in this encoding.



Another discussion about math, artificial chemistry and computation

I have to record this ongoing discussion from G+, it’s too interesting.  Shall do it from  my subjective viewpoint, be free to comment on this, either here or in the original place.

(Did the almost the same, i.e. saved here some of my comments from an older discussion, in the post   Model of computation vs programming language in molecular computing. That recording was significant, for me at least, because I made those comments by thinking at the work on the GLC actors article, which was then in preparation.)

Further I shall only lightly edit the content of the discussion (for example by adding links).

It started from this post:

 “I will argue that it is a category mistake to regard mathematics as “physically real”.”  Very interesting post by Louis Kauffman: Mathematics and the Real.
Discussed about it here: Mathematics, things, objects and brains.
Then followed the comments.
Greg Egan‘s “Permutation City” argues that a mathematical process itself is identical in each and any instance that runs it. If we presume we can model consciousness mathematically it then means: Two simulated minds are identical in experience, development, everything when run with the same parameters on any machine (anwhere in spacetime).

Also, it shouldn’t matter how a state came to be, the instantaneous experience for the simulated mind is independent of it’s history (of course the mind’s memory ought to be identical, too).He then levitates further and proposes that it’s not relevant wether the simulation is run at all because we may find all states of such a mind’s being represented scattered in our universe…If i remember correctly, Egan later contemplated to be embarassed about this bold ontological proposal. You should be able to find him reasoning about the dust hypothesis on the accompanying material on his website.Update: I just saw that wikipedia’s take on the book has the connection to Max Tegmark in the first paragraph:
> […] cited in a 2003 Scientific American article on multiverses by Max Tegmark.

+Refurio Anachro  thanks for the reference to Permutation city and to the dust hypothesis, will read and comment later. For the moment I have to state my working hypothesis: in order to understand basic workings of the brain (math processing included), one should pass any concept it is using through the filter
  • local not global
  • distributed not sequential
  • no external controller
  • no use of evaluation.

From this hypothesis, I believe that notions like “state”, “information”, “signal”, “bit”, are concepts which don’t pass this filter, which is why they are part of an ideology which impedes the understanding of many wonderful things which are discovered lately, somehow against this ideology. Again, Nature is a bitch, not a bit 🙂

That is why, instead of boasting against this ideology and jumping to consciousness (which I think is something which will wait for understanding sometimes very far in the future), I prefer to offer first an alternative (that’s GLC, chemlambda) which shows that it is indeed possible to do anything which can be done with these ways of thinking coming from the age of the invention of the telephone. And then more.

After, I prefer to wonder not about consciousness and it’s simulation, but instead about vision and other much more fundamental processes related to awareness. These are taken for granted, usually, and they have the bad habit of contradicting any “bit”-based explanation given up to date.


the past lives in a conceptual domain
would one argue then that the past
is not real
+Peter Waaben  that’s easy to reply, by way of analogy with The short history of the  rhino thing .
Is the past real? Is the rhinoceros horn on the back real? Durer put a horn on the rhino’s back because of past (ancient) descriptions of rhinos as elephant killers. The modus operandi of that horn was the rhino, as massive as the elephant, but much shorter, would go under the elephant’s belly and rip it open with the dedicated horn.  For centuries, in the minds of people, rhinos really have a horn on the back. (This has real implications, alike, for example, with the idea that if you stay in the cold then you will catch a cold.) Moreover, and even more real, there are now real rhinos with a horn on the back, like for example Dali’s rhino.
I think we can safely say that the past is a thing, and any of this thing reifications are very real.
+Peter Waaben, that seems what the dust hypothesis suggests.
+Marius Buliga, i’m still digesting, could you rephrase “- no use of evaluation” for me? But yes, practical is good!
[My comment added here: see the posts



+Marius Buliga :

+Refurio Anachro  concretely, in the model of computation based on lambda calculus you have to add an evaluation strategy to make it work (for example, lazy, eager, etc).  The other model of computation, the Turing machine is just a machine, in the sense that you have to build a whole architecture around to use it. For the TM you use states, for example, and the things work by knowing the state (and what’s under the reading head).  Even in pure functional programming, besides their need for an evaluation strategy, they live with this cognitive dissonance: on one side they they rightfully say that they avoid the use of states of the imperative programming, and on the other side they base their computation on evaluation of functions! That’s funny, especially if you think about the dual feeling which hides behind “pure functional programming has no side effects” (how elegant, but how we get real effects from this?).
In distinction from that. in distributed GLC there is no evaluation needed for computation. There are several causes of this. First is that there are no values in this computation. Second is that everything is local and distributed. Third is that you don’t have eta reduction (thus no functions!). Otherwise, it resembles with pure functional programming if you  see the core-mask construction as the equivalent of the input-output monad (only that you don’t have to bend backwards to keep both functions and no side effects in the model).
[My comment added here: see behaviour 5 of a GLC actor explained in this post.
Among the effects is that it goes outside the lambda calculus (the condition to be a lambda graph is global), which simplifies a lot of things, like for example the elimination of currying and uncurrying.  Another effect is that is also very much like automaton kind of computation, only that it is not relying on a predefined grid, nor on an extra, heavy handbook of how to use it as a computer.
On a more philosophical side, it shows that it is possible to do what the lambda calculus and the TM can do, but it also can do things without needing signals and bits and states as primitives. Coming back a bit to the comparison with pure functional programming, it solves the mentioned cognitive dissonance by saying that it takes into account the change of shape (pattern? like in Kauffman’s post) of the term during reduction (program execution), even if the evaluation of it is an invariant during the computation (no side effects of functional programming). Moreover, it does this by not working with functions.
+Marius Buliga “there are no values in this computation” Not to disagree, but is there a distinction between GLC graphs that is represented to a collection of possible values? For example, topological objects can differ in their chromatic, Betti, genus, etc. numbers. These are not values like those we see in the states, signals and bits of a TM, but are a type of value nonetheless.
+Stephen Paul King  yes, of course, you can stick values to them, but  the fact is that you can do without, you don’t need them for the sake of computation. The comparison you make with the invariants of topological objects is good! +Louis Kauffman  made this analogy between the normal form of a lambda term and such kinds of “values”.
I look forward for his comments about this!
+Refurio Anachro  thanks again for the Permutation city reference. Yes, it is clearly related to the budding Artifficial Connectomes idea of GLC and chemlambda!
It is also related with interests into Unlimited Detail 🙂 , great!
[My comment added here: see the following quote from the Permutation city wiki page

The Autoverse is an artificial life simulator based on a cellular automaton complex enough to represent the substratum of an artificial chemistry. It is deterministic, internally consistent and vaguely resembles real chemistry. Tiny environments, simulated in the Autoverse and filled with populations of a simple, designed lifeform, Autobacterium lamberti, are maintained by a community of enthusiasts obsessed with getting A. lamberti to evolve, something the Autoverse chemistry seems to make extremely difficult.

Related explorations go on in virtual realities (VR) which make extensive use of patchwork heuristics to crudely simulate immersive and convincing physical environments, albeit at a maximum speed of seventeen times slower than “real” time, limited by the optical crystal computing technology used at the time of the story. Larger VR environments, covering a greater internal volume in greater detail, are cost-prohibitive even though VR worlds are computed selectively for inhabitants, reducing redundancy and extraneous objects and places to the minimum details required to provide a convincing experience to those inhabitants; for example, a mirror not being looked at would be reduced to a reflection value, with details being “filled in” as necessary if its owner were to turn their model-of-a-head towards it.


But I keep my claim that that’s enough to understand for 100 years. Consciousness is far away. Recall that first electricity appeared as  kind of life fluid (Volta to Frankenstein monster), but actually it has been used with tremendous success for other things.
I believe the same about artificial chemistry, computation, on one side, and consciousness on the other. (But ready to change this opinion if faced with enough evidence.)


Mathematics, things, objects and brains

This is about my understanding of the post Mathematics and the Real by Louis Kauffman.

I start from this quote:

One might hypothesize that any mathematical system will find natural realizations. This is not the same as saying that the mathematics itself is realized. The point of an abstraction is that it is not, as an abstraction, realized. The set { { }, { { } } } has 2 elements, but it is not the number 2. The number 2 is nowhere “in the world”.

Recall that there are things and objects. Objects are real, things are discussions. Mathematics is made of things. In Kauffman’s example the number 2 is a thing and the set { { }, { { } } } is an object of that thing.

Because an object is a reification of a thing. It is therefore real, but less interesting than the thing, because it is obtained by forgetting (much of) the discussion about it.

Reification is not a forgetful functor, though. There are interactions in both directions, from things to objects and from objects to things.

Indeed, in the rhino thing story, a living rhinoceros is brought in Europe. The  sight of it was new. There were remnants of ancient discussions about this creature.

At the beginning that rhinoceros was not an object, not a thing. For us it is a thing though, and what I am writing about it is part of that thing.

From the discussion about that rhinoceros, a new thing emerged. A rhinoceros is an armoured beast which has a horn on its back which is used for killing elephants.

The rhino thing induced a wave of reifications:  nearby the place where that rhino was seen for the first time in Portugal, the Manueline Belém Tower  was under construction at that moment. “The tower was later decorated with gargoyles shaped as rhinoceros heads under its corbels.[11]” [wiki dixit]

Durer’s rhino, another reification of that discussion. And a vector of propagation of the discussion-thing. Yet another real effect, another  object which was created by the rhino thing is “Rinoceronte vestido con puntillas (1956) by Salvador Dalí in Puerto Banús, Marbella, Spain” [wiki dixit].

Let’s take another example. A discussion about the reglementations of the sizes of cucumbers and carrots to be sold in EU is a thing. This will produce a lot of reifications, in particular lots of correct size cucumbers and carrots and also algorithms for selecting them. And thrash, and algorithms for dispensing of that trash. And another discussions-things, like is it moral to dump the unfit carrots to the trash instead of using them to feed somebody who’s in need? or like the algorithm which states that when you go to the market, if you want to find the least poisoned vegetables then you have to pick them among those which are not the right size.

The same with the number 2, is a thing. One of it’s reifications is the set { { }, { { } } }. Once you start to discuss about sets, though, you are back in the world of things.

And so on.

I argue that one should understand from the outset that mathematics is distinct from the physical. Then it is possible to get on with the remarkable task of finding how mathematics fits with the physical, from the fact that we can represent numbers by rows of marks |  , ||, |||, ||||, |||||, ||||||, … (and note that whenever you do something concrete like this it only works for a while and then gets away from the abstraction living on as clear as ever, while the marks get hard to organize and count) to the intricate relationships of the representations of the symmetric groups with particle physics (bringing us back ’round to Littlewood and the Littlewood Richardson rule that appears to be the right abstraction behind elementary particle interactions).

However, note that   “the marks get hard to organize and count” shows only a limitation of the mark algorithm as an object, and there are two aspects of this:

  • to stir a discussion about this algorithm, thus to create a new thing
  • to recognize that such limitations are in fact limitations of our brains in isolation.

Because, I argue, brains (and their working) are real.  Thoughts are objects, in the sense used in this post! When we think about the number 2, there is a reification of out thinking about the number 2 in the brain.

Because brains, and thoughts, are made of an immensely big number of chemical reactions and electromagnetic  interactions, there is no ghost in these machines.

Most of our brain working is “low level”, that is we find hard to account even for the existence of it, we have problems to find the meaning of it, we are very limited into contemplating it in whole, like a self-reflecting mirror. We have to discuss about it, to make it into a thing and to contemplate instead derivative objects from this discussion.

However, following the path of this discussion, it may very well be that brains working thing can be understood as structure processing, with no need for external, high level, semantic, information based meaning.

After all, chemistry is structure processing.

A proof of principle argument for this is Distributed GLC.

The best part, in my opinion, of Kauffman’s post is, as it should, the end of it:

The key is in the seeing of the pattern, not in the mechanical work of the computation. The work of the computation occurs in physicality. The seeing of the pattern, the understanding of its generality occurs in the conceptual domain.

… which says, to my mind at least, that computation (in the usual input-output-with-bits-in-between sense) is just one of the derivative objects of the discussion about how brains (and anything) work.

Closer to the brain working thing, including the understanding of those thoughts about mathematics, is the discussion about “computation” as structure processing.

UPDATE: A discussion started in this G+ post.


Slide equivalence of knots and lambda calculus (I)

Related: (Graphic) beta rule as braiding.

Louis Kauffman proposes in his book Knots and Physics  (part II, section “Slide equivalence”), the notion of slide equivalence. In his paper “Knotlogic” he uses slide equivalence (in section 4) in relation to the self-replication phenomenon in lambda calculus. In the same paper he is proposing to use knot diagrams as a notation for the elements and operation of a combinatory algebra (equivalent with untyped lambda calculus).

There is though, as far as I understand, no fully rigorous relation between knot diagrams, with or without slide equivalence, and untyped lambda calculus.
Further I shall reproduce the laws of slide equivalence (for oriented diagrams), following Kauffman’ version from Knots and physics. Later, I shall discuss about the relations with my graphic lambda calculus.

Here are the laws, with the understanding that:

1. the unoriented lines may have any orientation,

2. For any version of orientation which is depicted, one may globally change, in a coherent way, the orientation in order to obtain a valid law.

Law (I’) is this one:

Law (II’) is this:

Law (III’):

Law (IV’):

Obviously, we have four gates, like in the lambda calculus sector of the graphic lambda calculus. Is this a coincidence?

UPDATE (06.06.2014): The article Zipper logic  arXiv:1405.6095  answers somehow to this, see the post Halfcross way to pattern recognition (in zipperlogic).A figure from there is:



See also the posts Curious crossings (I) and Distributivity move as a transposition (Curious crossings II).