Tag Archives: molecular computers

Fold rewrite, dynamic DNA material and visual DSD

As it happened with chemlambda programs, I decided it is shorter to take a look myself at possible physical realizations of chemlambda than to wait for others, uninterested or very interested really, people.

Let me recall a banner I used two years ago


It turns out that I know exactly how to do this. I contacted Andrew Phillips, in charge with Microsoft’ Visual DSD  with the message:

Dear Andrew,

I am interested in using Visual DSD to implement several graph-rewriting formalisms with strand graphs: Lafont Interaction Combinators, knots, spin braids and links rewrite systems, my chemlambda and emergent algebra formalisms.

AFAIK this has not been tried. Is this true? I suggest this in my project chemlambda but I don’t have the chemical expertise.

About me: geometer working with graph rewrite systems, homepage: http://imar.ro/~mbuliga/index.html or

Some links (thank you for a short reception of the message reply):

– github project: https://github.com/chorasimilarity/chemlambda-gui/blob/gh-pages/dynamic/README.md
– page with more links: http://imar.ro/~mbuliga/chemlambda-v2.html
– arXiv version of my Molecular computers article https://arxiv.org/abs/1811.04960

Emergent algebras:
– em-convex https://arxiv.org/abs/1807.02058


I still wait for an answer, even if Microsoft’ Washington Microsoft Azure and Google Europe immediately loaded the pages I suggested in the mail.

Previously, I was noticed by somebody [if you want to be acknowledged then send me a message and I’ll update this] about Hamada and Luo Dynamic DNA material with emergent locomotion behavior powered by artificial metabolism  and I sent them the following message

Dear Professors Hamada and Luo,

I was notified about your excellent article Dynamic DNA material with emergent locomotion behavior powered by artificial metabolism, by colleagues familiar with my artificial chemistry chemlambda.

This message is to make you aware of it. I am a mathematician working with artificial chemistries and I look for ways to implement them in real chemistry. The shortest description of chemlambda is: an artificial chemistry where the chemical reactions are alike a Turing complete family of graph rewrites.

If such a way is possible then molecular computers would be not far away.

Here is a list of references about chemlambda:

– GitHub repository with the scripts https://github.com/chorasimilarity/chemlambda-gui/blob/gh-pages/dynamic/README.md
– page which collects most of the resources http://imar.ro/~mbuliga/chemlambda-v2.html

Thank you for letting me know if this has any relation to your interests. For my part I would be very thrilled if so.

Best regards,
Marius Buliga

Again, seems that these biology/chemistry people have problems with replies to mathematicians, but all ths makes me more happy because soon I’ll probably release instructions about how everybody could make molecular computers along the lines of Molecular computers.

I’ll let you know if there are future “inspiration” work. Unrelated to chemlambda, there are several academic works which shamelessly borrow from my open work without acknowledgements, I’ll let you know about these and I’ll react in more formal ways. I hope though this will not be the case with chemlambda, however, this happened before twice at least.  (I say nothing about enzymes/catalysts, category theory and cryptocurrencies… for the moment.)

Finally, here is a realization of the lambda calculus beta rewrite via a FOLD rewrite


which shares a relation with the ZIP rewrite from Zipper Logic. It seems I was close to reality,  now though I got it exactly 🙂 .

Let’s talk soon!




An example of “Official EU Agencies Falsely Report More Than 550 Archive.org URLs as Terrorist Content”

Today I read Official EU Agencies Falsely Report More Than 550 Archive.org URLs as Terrorist Content.  Two comments on this.

1. It happened to me in Feb 2019. I archived one of my stories from the chemical sneakernet universe. The original story is posted on telegra.ph. Here is the message which appeared when I checked the archived link:


What? I contacted archive.org and got an answer from the webmaster, pretty fast. The problem was with telegra.ph, not with my link in particular. Now the archived link is available.

After I sent the message to archive but before I received the answer, I searched for a way to contact EU IRU, to ask what the problem might be.  I was unable to identify any such way. However there was a way to send a message to EU officials, who might redirect my message to whom it may concern. It worked, but it took longer than the time needed by archive webmaster to respond and unblock the link. I was not contacted since.

2. As you see in the post from archive, it was not EU IRU the institution which sent the blocking orders. But nevermind, how can one try to block arXiv articles? This reminded me of a very recent story: Google Scholar lost my Molecular computers arXiv article. As the article is on the same subject as the story from point 1, I wonder if by any (mis)chance Google Scholar received a blocking order.

A project in chemical computing and Lafont universality

The post Universality of interaction combinators and chemical reactions ends with the idea that Lafont universality notion, for interaction systems, may be the right one for chemical computing.

These days are strange, every one comes with some call from one of my old projects. (About new ones soon, I have so many things.) Today is even more special because there were two such calls.One of them was from what I wrote in A project in chemical computing page from april 2015. It ends with:

    If you examine what happens in this chemical computation, then you realise that it is in fact a means towards self-building of chemical or geometrical structure at the molecular level. The chemlambda computations are not done by numbers, or bits, but by structure processing. Or this structure processing is the real goal!
     Universal structure processing!

There is even this video about an Ackermann function molecular computer I forgot about.

The idea is that the creation of a real molecule to compute Ackermann(2,2) would be the coolest thing ever made in chemical computing. If that is possible then as possible as well would be an Ackermann goo made from Ackermann(4,4):


In Graphic lambda calculus and chemlambda (III) I comment again on Lafont:

    • Lafont universality property of interaction combinators means, in this pseudo-chemical sense, that

the equivalent molecular computer based on interaction combinators reactions (though not the translations) works

    for implementing a big enough class of reactions which are Turing universal in particular (Lafont  shows concretely that he can implement Turing machines).


In the series about Lafont interaction combinators and chemlambda (1) (2) (3), as well as in the paper version of the article Molecular computers, an effort is made to reconnect chemlambda research with much older work by Lafont. [UPDATE: I retrieved this, I forgot about it, it’s mostly chemlambda v1  to chemlambda v2, see also this post ]

Life at molecular scale

Recently there are more and more amazing results in techniques allowing the visualization of life at molecular scale. Instead of the old story about soups of species of molecules, now we can see individual molecules in living cells [1], or that the coiled DNA has a complex chemical configuration, or that axons and dendrites interact in a far more complex way than imagined before. Life is based on a complex tangle of evolving individuals, from the molecular scale onwards.

To me, this gives hope that at some point chemists will start to  consider seriously the possibility to build such structures, such molecular computers [4] from first principles.

The image is a screencast of a chemlambda computation, done with quiner mist.


[1] Li et. al., “Extended Resolution Structured Illumination Imaging of Endocytic and Cytoskeletal Dynamics,” Science.

[2] Structural diversity of supercoiled DNA, Nature Communications 6,Article number:8440doi:10.1038/ncomms9440,

[3] Saturated Reconstruction of a Volume of Neocortex, Cell, Volume 162, Issue 3, p648–661, 30 July 2015
and video:

[4] Molecular computers

Molecular computers in real life

A molecular computer [1]  is a single molecule which transforms into a predictable another one, by a cascade of random chemical reactions mediated by a collection of enzymes, without any external control.


We could use the artificial chemistry chemlambda to build real molecular computers. There is a github repository [2] where this model is implemented and various demos are available.

By using molecular bricks which can play the role of the basic elements of chemlambda we can study the behaviour of real molecules which suffer hundreds or thousands of random chemical reactions, but without having to model them on supercomputers.
A molecule designed like this will respect for a while the chemlambda predictions… We don’t know for how much, but there might be a window of opportunity which would allow a huge leap in synthetic biology. Imagine instead of simple computations with a dozen of boolean gates, the possibility to chemically compute with recursive but not primitive recursive functions.

More interesting, we might search for chemlambda molecules which do whatever we want them to do. We can build arbitrarily complex molecules, called chemlambda quines, which have all the characteristics of living organisms.

We may dream bigger. Chemlambda can unite the virtual and the real worlds… Imagine a chemical lab which takes as input a virtual chemlambda molecule and outputs the real world version, much like Craig Venter’s printers. The converse is a sensor, which takes a real chemical molecule, compatible with chemlambda and translates it into a virtual chemlambda molecule.

Applications are huge, some of them beneficial and others really scary.

For example, you may extend your immune system in order to protect your virtual identity with your own, unique antibodies.

As for using a sensor to make a copy of yourself, at the molecular level, this is out of reach in the recent future, because the real living organism works by computations at a scale which dwarfs the human technical possibilities.

The converse is possible though. What about having a living computer, of the size of a cup, which performs at the level of the whole collection of computers available now on Earth? [3]


[1] this is the definition which I use here, taken from the articles Molecular computers and Build a molecular computer (2015)

[2] https://github.com/chorasimilarity/chemlambda-gui/blob/gh-pages/dynamic/README.md

[3] The internet can be your pet

The inner artificial life of a cell, a game proposal

The  inner life of a cell is an excellent, but passive window

It is also scripted according to usual human expectations: synchronous moves, orchestrated reactions at a large scale. This is of course either something emergent in real life, or totally unrealistic.

As you know, I propose to use the artificial chemistry chemlambda for making real, individual molecular computing devices, as explained in Molecular computers.

But much more can be aimed at, even before the confirmation that molecular computers, as described there,  can be built by us humans.

Of course that Nature builds them everywhere, we are made of them. It works without any external control, not as a sequence of lab operations, asynchronously, in a random environment, and it is very hard to understand if there is a meaning behind the inner life of a living cell, but it works nevertheless without the need of a semantics to streamline its workings.

So obvious, however so far from IT way of seeing computation.

Despite the huge and exponential advances in synthetic biology, despite the fact that many of these advances are related to IT, despite that more and more ways to control biological workings, I believe that there has to be a way to attack the problem of computations in biology from the basis. Empirical understanding is great and will fuel for some time this amazing synthetic biology evolution, but why not thinking about understanding how life works, instead of using biological parts to make functions, gates and other components of the actual IT paradigm?

As a step, I propose to try to build a game-like artificial life cell, based on chemlambda. It should look and feel like the Inner life of a cell video, only that it would be interactive.

There are many bricks already available, some molecules (each with its own story and motivation) are in the chemlambda repository, other are briefly described, with animations, in the chemlambda collection.

For example:
– a centrosome and the generated microtubules like in

kinesins  as adapted walkers like in


– molecules built from other ones like RNA from DNA

– programmed computations (mixing logic and biologic)

– all in an environment looking somehow like this

Like in a game, you would not be able to see the whole universe at once, but you could choose to concentrate to this part or that part.
You could build superstructures from chemlambda quines and other bricks, then you could see what happens either in a random environment or in one where, for example, reductions happen triggered by the neighbourhood of your
mouse pointer (as if the mouse pointer is a fountain of invisible enzymes).

Videos like this, about the internal working of a neuron

would become tasks for the gamer.


An apology of molecular computers and answers to critics

This is how a molecular computer would look like, if seen with a magically powerful microscope. It is a single molecule which interacts randomly with other molecules, called “enzymes”, invisible in this animation.


There is no control over the order of the chemical reactions. This is the idea, to compute without control.

The way it works is like this: whenever a reaction happens, this creates the conditions for the next reaction to happen.

There is no need to use a supercomputer to model such a molecule, nor is it reasonable to try, because of big number of the atoms.

It is enough instead to find real molecular assemblies for nodes, ports and bonds, figured here by colored circles and lines.

The only computations needed are those for simulating the family of rewrites – chemical reactions. Every such rewrite involves up to 4 nodes, therefore the computational task is handy.

Verify once that the rewrites are well done, independently of the situation where you want to apply them, that is all.

Once such molecular compounds are found, the next task is to figure out how to build (by chemical reactions) such molecules.

But once one succeeds to build one molecule, the rest is left to Nature way of computing: random, local, asynchronous.

From this stage there is no need to simulate huge molecules in order to know they work. That is something given by the chemlambda formalism.

It is so simple: translate the rewrites into real chemistry, they are easy, then let go the unneeded control from that point on.

This animation is a screencast of a part of the article Molecular computers
and everything can be validated (i.e. verified by your own) by using the chemlambda repository

Now I’ll pass to a list of critics which, faced with the evidence, they look uninformed:
1. Chemlambda is one of those rewriting systems everybody knows. Ignorant claim, while it is true that some rewrites appear all over the place, from string theory to knot theory to category theory to geometry of interaction, the family of graphs considered is not the same, because those graphs are purely combinatorial object and they don’t need a global embedding, like all other formalism do, in a schematic space-time. Moreover, the choice of the rewrites is such that the system works only by local rewriting and no global control on the cascade of rewrites. No other formalism from the family does that.

2.  Is well known that all this is already done in the category theory treatment of lambda calculus.

False, if one really reads what they do in category theory with lambda calculus, then one figures quick that they can’t do much for untyped lambda beta calculus, that is without eta reduction. This is mentioned explicitly in Barendregt, for example, but the hype around categories and lambda calculus is so pervasive that people believe more than what actually is.

3.  Chemical computing is old stuff: DNA computing, membrane computing, the chemical abstract machine, algorithmic chemistry.

Just because it is chemical computing, it does not mean that it is in the family mentioned.

The first name of chemlambda was “chemical concrete machine” and there there are comparison with the chemical abstract machine
(btw I see that some people discover now “catalysts” without credits in the written papers)
The cham is a formalism working with multisets of molecules, not with individual ones, and the computation is done by what corresponds to lab operation (splitting a solution in two, heating, cooling, etc)
The membrane computing work is done around membranes which enclose containers of multisets of molecules, the membrane themselves being some abstract concepts, of a global nature, whil ein reality, as well as in chemlambda, everything is a molecule. Membranes exist in reality but they are made of many molecular compounds.
DNA computing is an amazing research subject, which may be related to chemlambda if there is a realization of chemlambda nodes, ports and bonds, but not otherwise, because there is not, up to my knowledge, any model in DNA computing with the properties: individual molecules, random reactions, not lab operations.
Algorithmic chemistry is indeed very much related to chemlambda, by the fact that it proposes a chemical view on lambda calculus. But from this great insight, the paths are very different. In algorithmic chemistry the application operation from lambda calculus represents a chemical reaction and the lambda abstraction signals a reactive site. In chemlambda the application and lambda abstraction corresponds to atoms of molecules. Besides, chemlambda is not restricted to lambda calculus, only some of the chemlambda molecules can be put in relation with lambda terms, but even for those, the reactions they enter don’t guarantee that the result is a molecule for a lambda term.

Conclusion: if you are a chemist, consider chemlambda, there is nothing like it already proposed. The new idea is to let control go and instead chain the randomly appearing reactions by their spatial patterns, not by lab operations, nor by impossibly sophisticated simulations.
Even if in reality there would be more constraints (coming from the real spatial shapes of the molecules constructed from these fundamental bricks) this would only influence the weights of the random encounters with the enzymes, thus not modifying the basic formalism.
And if it works in reality, even for only situations where there are cascades of tens of reactions, not hundreds or thousands, even that would be a tremendous advance in chemical computing, when compared with the old idea of copying boolean gates and silicon computers circuits.


Appeared also in the chemlambda collection microblog