Category Archives: discussion

History of chemlambda status: on hold

Starting from Today July 9 the status of the arXiv version

Graph rewrites, from graphic lambda calculus, to chemlambda, to directed interaction combinators

of the online version

Graph rewrites, from emergent algebras to chemlambda

is “on hold”:

Screenshot from 2020-07-09 09:13:06

I don’t understand what part of the content can be controversial in any way. Truth on hold.

Among my articles on arXiv this is only the third time when this happens. Until now in all cases there was only a delay of a few days or weeks. This made me start using figshare for alternative archiving. One should keep several sources of the same documents in long term archives, to be sure.

It is however significant in my eyes that the other two cases were (with arXiv and figshare sources)

Chemical concrete machine  (arXiv) (figshare)

Zipper logic (arXiv) (figshare)

Mind that on arXiv you can see the submission date but not the date when the article appears.

As you know I consider arXiv a great thing, this is not a critic of arXiv. I just don’t understand what is happening and who and why is upset, consistently.

Pure See working draft

is now available at this link. It is a working draft, meaning that: the exposition will  change, there are  (many) missing parts, there are not enough explanations which link to previous work.

I could finish it in a few days, but I think I shall write at a slower pace, which will allow me to weed it better.

At the end it should be as least as usable as lambda calculus (well that’s not very much compared with languages which are widespread), but better in some respects. If you are  a geometer you may like it from a point of view different than lambda calculus.

If you are interested, please use this working draft as main source of information.

Internet of Smells, remember?

Now there is a time of work, very productive. Until next article, let’s remember the Internet of Smells short story from 2017.

Wouldn’t it be nice to have something like this now?  Maybe one day we’ll have it and it will not be only for the riches.

The closest equivalent to a graphical LISP repl I have is this.

There is another short story in this series, Home remodeling, which is a Proust plagiate.

More web-talks, more discussions, a new open revolution?

An unexpected gain of the quarantines is that more people realize that we can collaborate more with the available web tools.

As a small example, together with Ionut Tutu we made the site imaronline to help our colleagues to share and learn about others activities online. We are happy that now the site bloomed and we hope for more.

By the way, I would be happy to explain more about chemlambda or pure see or metric geometry or … or … discuss with you, via a web-conference. Contact me if you want this.

I look around and I see many people who start to seriously consider online communications for work. I think this  will change the way we see work as open science and open access changed the way we think about science communication. Only in this case the number of people pushing for a change will be much bigger!

There are lots of unexpected advantages of the transition from paper scientific journals to online journals. Obvious only in retrospect. One of them, for example, is that in online communication there are constraints which no longer apply. In the case of research articles, the length of the article is no longer a constraint. Moreover, the content of the article is no longer limited to what can be printed on paper.

Of course, these limitations (length, content type) are still used without other reason that they are familiar. Or with reasons which hide some dark patterns. As an example consider the case of bibliographies, or references, which still in their majority ignore the possibilities. References are many times not as links to available sources and they often ignore the sources which are not under the control of parasite publishers.

In the same way, these new web talks will evolve, I believe, into new ways of interactive collaboration.

The human presence in a discussion is a very strong motivator. An online video or chat discussion cannot have an arbitrary length, true. It is also, past to a point, a more shallow exchange than a written one, in the sense that many details in the mind of the participants do not pass to the other participants. Such a discussion should instead be alternated with written, more rigorous ones. Working material should be made available and follow-ups should be considered.

I know people complain that these online activities are not used more. For example, parents would like more from the teachers of their kids. There are many situations where the work is half stunted, although possible via web-talks. We have to remember this when the quarantines will be over. Next time try not to ignore the “foolish” ones who propose new ways of communications for professional purposes (like research, teaching, etc). Now that we need more teachers, researchers, etc, competent with these new means of communications, we need to accept as wrong  the previous general indifference or even hostility towards those who tried.


Zoom in between

Work progresses well and soon will come continuations of  arXiv:2003.14332, but now there is a time in between. What to do, other than have some talks, look at some links?

Re talk I’ll finally install zoom (I know) and if you want to organize an AMA or if you want to talk about computation, hamiltonians or bipotentials, let me know.

Re links, two which I think are funny:

  • at the gossip blog Not even wrong there is a new post about Mochizuki. The good part of the post are the links to articles. Fesenko is a realist. The  post is aggressively against Mochizuki, but there  is no knowledge to back up the tone. Among the comments, though, there are 2 or 3 from people who are competent, therefore they are interesting to read. [update: more interesting comments appeared.]
  • I didn’t know about this when I wrote a post about Alexandra Elbakyan back in February, but I learned about news concerning Alexandra’s fight against her bullying during her studies. Shortly, after she appealed to the ethics commission, during the audience she spat on them. Not something I approve as a behaviour, but the pressure on her is so huge probably, that she made a public relations mistake. Let us not forget that tens or hundreds of thousands of academic researchers, among them most of the academic managers, agree with the parasites who suck the blood of research for short term commercial reasons. Shame on them! Maybe this pirate gesture (she is a pirate, right? according to parasites) awakes some of them to the realisation of the gravity of their complicity.


lambdalife.html, a local version

lambdalife.html is the locally hosted version of . There you can find the same pages, excepting the animation collection, which has bigger animations. You can also download the source scripts which fuel the pages.

So, for those who wait for the final concerning anharmonic lambda or the alternative linear logic, is the same base to build on it. The new ones will come.

Here is why I hosted it locally as well (1) and here is why I insist on making clear the basis before going further (2).

(1) Because of so many weird happenings around this project, I checked these days to see if my gmail messages which contain related stuff arrive (by using two channels). They don’t or they do arrive half a day later, after I used the second channel. So I basically, in general, have 0 trust in any corporate channel. If you think I overdramatize then how do you explain this or  this, sorry that I can’t speak about private exchanges?

The alternative to filtering is open science.

(2) During these years when I tried to absorb previous knowledge in the field, I was very  rarely helped by one of the professionals in the field. I am a professional too, but in other fields, like geometry or convex analysis. As far as I am aware in my general mathematical areas, which are huge compared with this new scientific field, open fair collaboration is the rule. Ask me something and to my best I’ll answer you. It is true that when it comes to walking on another’s lawn, things are not nice in mathematics as well. But with time we are confident we shall  be better, more human, less ape.

OK, so why tf nobody among hundreds of (very good in their field) specialists mentioned Bawden, for example. Instead, all sort of questions, down to the “I don’t know what am I looking at”. When you have the programs and you know your field? I know that in CS the wheel is reinvented all the time, but probably the wheel is proprietary most of the time, because this science is so young compared with mathematics. People don’t yet behave as scientists, they need to educate themselves in these matters.

So next time when you think why tf I don’t proceed further with explanations, please ask these categorical or linear logic snake-oil sellers if they understand what they are looking at.

(Don’t get me started with linear logic! WTF is linear in your version? Nothing. Any mathematician  can embedd anything into a Banach space, come on! Mathematicians to the  rescue soon. Oh, but wait, nobody gives a fuck on this subject, except the practitioners and the programmers who want to look intelligent. They should, despite this selected public, because this is a subject at the core of mathematics. As everybody knows and don’t like, mathematics is in everything and the best way to produce new science.)

12 pages to start a macbethian tale

UPDATE: From now on follow the evolution of the draft at this link.


As of today, these are the  first 12 pages [see update!]  of description of the programs from the chemlambda landing page.

So I needed 12 pages just to start. And they could still be improved. For example everything could be written category theory style. Resulting in… more than 12 pages, have you seen DPO, sections 2.2-2.4 ?   I could go on a tangent in this direction, wouldn’t it be nice to write everything in terms of say “anharmonic groupoids”? Well, I could and maybe I should. Or in graph theory style…

It is amazing that just to start… And who will read these pages? If I want them to be used by anybody interested in the subject, for example geometers and logicians and chemists, or just any programmer…

Well, I’ll persist, but what do you think about these first pages?

I don’t think now that this is only my problem. An article is almost “a tale told by an idiot, full of sound and fury, signifying nothing”. Well,  is a story of the research, told in a very specialized language, full of unmentioned background, signifying nothing to most of the people who would maybe need it, but they can’t know.

There has to be a better way. I think that the chemlambda page is better.

Though, any way which is not macbethian academic legacy is frown upon. These days we see that a great majority of all these institutions who persist because they exist, do nothing. Serve to nothing else than to preserve the pyramid.

Anyway, I wanted to name the last section “Made of money” 🙂 I don’t know if the joke is relevant, just it sounds funny, seen the previous coin fashion.

Molecules laboratory and news about the 10-node quine

There is now a virtual lab where you can input molecules by hand and play with them, supplementary of choosing them from the menu.

When you download the lab page tou see that the text area of input molecules is already loaded with something.

You may of course delete what is written there and just build your molecule: write the molecule line by line and hit input to see it. You may manipulate it by trigerring rewrites with the mouse hover. Then hit “update” to see the new molecule you get.

For example, suppose you delete what’s written in the text area and you start fresh by typing

A 1 2 3^

then you hit “input”. What do you get?

You add another node, say you continue by

A 1 2 3^FI 3 4 5^

hit input, what do you get?

Now you may like to connect two free edges, say the 5 with the 1: you add text to get

A 1 2 3^FI 3 4 5^Arrow 5 1^

hit input, what do you get?

Use mouse hover over the “Arrow” node (white one), what do you get?

hit “update”, what do you get?

And so on.

Now, let’s return to the molecule already present in the text area. There are two molecules in fact, they are the chilfren of a 10-node quine.

In a previous post I announced that the 10-node quine can duplicate. I put an animation movie which shows that. But the lab showed me I am wrong.

Exercise: in the lab choose the 10-node quine from the menu.

With mouse hover try to modify the molecule until you obtain two separated molecules.

If you succeed, then prepare to check if they are quines, by:

  • click on the “change” button to see “older is first” message. This means that the rewrites will be done based on the age of nodes and links.
  • move the rewrites weights slider to “GROW”
  • hit “start”

If the two molecules don’t die and they don’t grow indefinitely, then you get two quines from one.

Hit stop from time to time to see what you have. Hit update to have the molecules code in the text area.

That what I did to obtain the two children of the 10-nodes quine. They look so much alike. They are both 10 nodes quines, they have almost identical links, but they are not the same!

One of them is the original 10-nodes quine, the other one is a quine which is diferent only in some links.

For the moment I have not succeeded to duplicate by hand this second quine.

Maybe you find another way the 10-nodes quine can duplicate?





Chemlambda page 99%

Hey, I need criticism, bugs finding, suggestions for improvements, as concerns the legacy chemlambda.

Thank you, be well!

In the collection there is now added, whenever appropriate, the list of posts where a mol is used. This is a variant of search by mol files. It is dynamical, like all the collection, in the sense that whenever a post is added or retired, everything works without other effort needed.

Another problem is to connect in the same way the other pages with the collection. The difficulty is that the collection is in one place (because is big) and the other pages are in other places. I’ll have to think about that.

What is left is to write a text … something I tried to avoid. But in order to “publish” based on this work, this is needed.

Anyway, for the interested, is in front of you and usable 🙂 For those who wait for the new parts, announced, I’m here to talk, and I prepare stuff for this. The story is big, as you see, only for stuff which I already call “legacy”, there are lots and lots of details which I have to do (which I like) and circles to hop through (which I don’t like) for the sake of … a system which dies basically.

Another two updates:

1. Right now I’m commenting the code, so the text is/will be in the programs. Let’s see where this goes.

2. I have the impression that I arrive to some overengineered result. What I would need to talk about is for example the awesomeness of the Heisenberg picture of mechanics as seen in emergent algebras plus hamiltonians with dissipation framework. But, you see, the problem is, as Robert Hermann wrote:

“… and I am supposed to sit back and wait for Professor Whosits to tell me when he thinks problems are “mature”…
I sent the papers he mentions to very few people … I am also interested to note that he did look at them, since there is considerable overlap in methodology with a recent paper by one of his students, with no mention of my papers in his bibliography …
any money spent by NSF on a Mathematics Research Institute would be down the proverbial rat hole – it would only serve to raise Professor Whosits’ salary and make him ever more arrogant. ”

🙂 So I try to make my position safe from any attack from Whosits of the academic world.

Which is time lost for making new stuff…


Biological immortality and probabilities of chemical rewrites

This post is a continuation of the post Random choices vs older first. There is an apparent paradox involving the probability to die and the probability of a chemical rewrite.

An organism is biologically immortal if its probability to die does not depend on its age. Another probability which matters for organisms made of chemical compounds is the probability of a chemical rewrite, say relevant for the organism metabolism.

Let’s suppose that there is a mechanism for such a chemical rewrite. For example, for each rewrite there is an enzyme which trigger it, like we supposed in the case of the chemical concrete machine. We can imagine two hypothetical situations.

Situation 1. The organism is chemically stable, so in the neighbourhood of a rewrite pattern there is a constant in time chance of the presence of a rewrite enzyme.  The probability of the chemical rewrite would be then independent on time. We would expect, for example, that biologically immortal organisms are in this situation.

Situation 2. There is a more complex mechanism for chemical rewritesm where there is a way to make a probability of a chemical rewrite to depend on time. As an example, suppose that the presence of the rewrite pattern triggers the production of rewrite enzymes. This would make the probability of the rewrite to be bigger for older rewrite patterns. But if probabilities of older rewrite patterns to be transformed is bigger than the probabilities of newer rewrite patterns, that would imply that the general probability to die (no more rewrites available) would be time dependent. It seems that such organisms are not likely to be biologically immortal.

The paradox is that it may be the other way around. Biologically immortal organisms may be in situation 2 and mortal organisms in situation 1.

This is illustrated by chemlambda quines. The page How to test a quine allows to change the probability of the rewrites with respect to time.

By definition a quine graph is one with a periodic evolution under the greedy algorithm of rewrites, which performs as many non-conflicting rewrites as possible in a single step. The definition can be refined by adding that in case of conflicting rewrites the algorithm will choose a rewrite which “grows” the graoh, by increasing the number of nodes.  What is interesting is how such a quine graph behaves under the random rewrites algorithm.

A graph reduced with this greedy algorithm evolves as if it is in the extreme of the Situation 2, where older rewrite patterns are always executed first (maybe excepting a class of rewrites which are alway executed first, like the “COMB” rewrites). This observation leads us to redefine a quine graph as a graph which is biologically immortal in situation 2!

You can check for yourself that the various graphs (from chemlambda or Interaction combinators) from that page are indeed quine graphs. Do like this: pick a graph from the menu. Move the “rewrites weights slider” to the “grow side”. Click on the “change” button to have the message “older is first”. Click “start”. If you want to reload then click “reload”.

A quine graph is an example of an (artificial life) organism which is immortal if the rewrites probabilities depends on the age of the rewrite pattern.

Under the random rewrite algorithm , i.e. Situation 1, such a graph quine may die or it may reproduce. They are indeed alive.


Biography of Sci-Hub creator Alexandra Elbakyan

I found today Alexandra Elbakyan biography, written by herself.

This link is to the original (in Russian) and this link is the google translate into English.

I think this is a very interesting read. You can get a really first hand description of the context and motivations of the creation of Sci-Hub. It is also a glimpse into the mind of a special individual who was born and lived in a middle of nowhere and who changed the world.

Some quotes, which I particularity resonate with:

“What is this misfortune?” I thought “again they see in me not a man, but a programmer”


“It was 2012, and I turned 24. I was a patriot and supported Putin’s policies. And I was also the creator of the Sci-Hub service, which, according to numerous reviews, incredibly helped Russian science.

But no one called and wrote to me like that.
No one invited me to participate in any scientific projects.
Every day I went in a cold, crowded train from Odintsovo, where the HSE hostel was located – to the university and back.”


Especially this I can’t understand. For anyone creative it would be a privilege to participate in a scientific project with Elbakyan.

Beta and dist are emergent, just like Reidemeister 3 and Hamiltonian mechanics

The title says all 🙂 This is a time tag announcement. The computing with space project is essentially finished. The last piece was discovered today.

I still have to write all down though. It would be helpful to make me do it quicker by making me give talks or something like that.

It is beautiful.

All goes well!

The “attack” on my institute web, or whatever that was, seems to have a solution. So now all pages go well (Feb 10 2020).

In conclusion, you may use:

I can be found at:

EDIT: some words about the revived collection. There are 264 posts/animations, which is a bit more than 1/2 of the original collection. Now there is the possibility to rerun in js the simulation, because whenever possible there is a mol file attached to the animation, which can be reduced in js. Some numbers now. In verifiedMol.js there are 500 mol files, but some are duplications, in order to manually enhance the automated  matching of posts with mols, so say there are about 490 mol files. If they are too big to be used without stalling the js reduction, this is signaled by the message “mol too big” in the post. If there is no mol which matches, this is signaled as “mol unavailable”. Of all 264 posts, 36 of them fall in the “mol too big” category, 46 in the “mol unavailable” and there are 6 posts which don’t have a chemlambda simulation inside. So this leaves 264-88=176 posts which have matching mol files to play with. Finally, there are two situations where the matching mol-post is not perfect: (1) when in the original simulation is used a mol file which contains nodes of a busy-beaver Turing machine (of the kind explained here), (2) when in the original is used a .mola file (a mol with actors). In both cases the js reduction does not know how to do this.

Pure See, emergent beta, Heisenberg

Some updates, for things to come and plans.

1. Pure See is a relative of lambda calculus, in the sense that it is Turing universal, is very simple, but it does not use abstraction, application, let as primitives. It is a programming language built over  commutative emergent algebras, i.e. those with the shuffle trick, or equivalently with the algebraic properties of em-convex (but mind that em-convex still uses lambda and application operations; these are not needed).

I plan to make a parser for Pure See very soon.

2. This means that Pure See is as commutative as lambda calculus. Or, the general theory that I have in mind is non-commutative. And emergent, in the sense of emergent algebras.

Before going full non-commutative, one has to realize the beta rewrite as emergent. This is true, in the same way as associativity is emergent in the equational theory of emergent algebras, or the way to realize Reidemeister 3 rewrite from R1 and R2 (and a passage to the limit). The fact that beta is emergent is what makes Pure See to work and answers to the question: do emergent algebras compute? Yes, they do, because in the most uninteresting situation, the commutative one, we can implement lambda calculus with commutative emergent algebras.

3. The first non-coomutative case is the Heisemberg group, described as a non-commutative emergent algebra. I have since a long time the description. The shuffle trick becomes something else. Means that beta rewrite and DIST rewrites change into something more interesting. The whol eformalism actually becomes something else.

I thought that the general non-commutative case is in principle far more complex than the Heisenberg case. It was also unsatisfying that I had no explanation for the reason why Heisenberg groups appear in physics. What’s special about them?

Now I know, they are logically unavoidable (again in the frame of emergent algebras).

So I still play with this new point of view and I wonder what to do next.

The wise thing would be to carefully explain, in a legacy way, all this body of work. My initial plan was to base this explanations on a backbone of openly communicated programs and demos, so that the article versions would be a skin of the whole description. Who wants to read betdime stories has the article. Who wants more has the programs. Who wants all thinks about all this.

With the DDOS or whatever is it,  it becomes harder to use independent ways of sharing.

Or should I jump directly to the non-commutative case?

Or somebody really started to make molecular computers?  If so,  it would be, short time span, the most interesting thing.


3 days since the server is too busy, so…

UPDATE: a version of the collection is on github.


the collection needs a better place. Alternatively, I could temporarily use github (by making the animations smaller, I can cram the collection into 480MB). Or better with a replacement of animations by the simulations themselves. As you see these simulations occupy 1GB, but they can be mined, in order to extract the right parameters (gravity, force strength, radii and colors, mol source) and then just reuse them in the js.

Anybody willing? I need to explain what pure see is about.

Also, use this working link to my homepage.

Google+ salvaged collection of animations (III): online again!

UPDATE: Chemlambda collection of animations. is the version of the collection hosted on github. The original site is under very heavy traffic (in Jan 2020).

UPDATE: For example the 2 neurons interacting animation can be remaked online to look like this:


First you use the mouse wheel to rescale, mouse to translate. Notice the gravity slider position. This is an animation screencasted from the real thing which takes 8 min to unfold. But in this way you see what is happening beyond the original animation.

Btw, what is such a neuron? It is simply a (vectorial) linear function, which is applied to itself,  written in lambda calculus. These two neurons are two linear functions, with some inputs and outputs connected.

Soon the links will be fixed (internal and external) [done] and soon after that there will be a more complete experience of the larger chemlambda universe. (and then the path is open for pure see)


In Oct 2018  I deleted the G+ chemlambda collection of animations, before G+ went offline. Now, a big part of it is online, at this link. For many of the animations you can do now live the reduction of the associated molecule.

The association between posts, animation and source mol file is from best fit.

There are limitations explained in the last post.

There are still internal links to repair and there has to be a way to integrate all in one experience, to pay my dues.

I put on imgur this photo with instructions, easy to share:

Screenshot from 2020-01-12 19:34:17

Use wheel mouse to zoom, mouse to move, gravity slider to expand.

The salvaged collection of animations (II)

UPDATE: Chemlambda collection of animations is the version of the collection hosted on github. The original site is under very heavy traffic (in Jan 2020).

UPDATE: much better now, although I seriously consider to jump directly to pure see. However is very rewarding to pass over blocks.


(Continues the first post.) I forgot how much the first awk chemlambda scripts were honed, and how much the constants of the animations produced were further picked so to illustrate in a visually interesting way a point of view. The bad part of the animations first produced is that they are big html files, sometimes taking very long to execute.

The all-in-one js solution built by ishanpm, then modified and enhanced by me, works well and fast for graphs with a no of nodes up to 1000, approximatively. The physics is fixed, there are only two controls: gravity (slider) which allows to expand/contract the graphs, and the rewrites slider, which changes the probabilities of rewrites which increase/decrease the number of nodes. Although there is randomness (initially in the ishanpm js solution there was not), it is a weak and not very physical one (considering the idea that the rewrites are caused by enzymes). It is funny that the randomness is not taken seriously, see for example the short programs of formality.

After I revived the collection of animations from G+ (I kept about 300 of them), I still had to associate the animations with the mol files used (many of them actually not in the mol library available) and to use the js chemlambda version (i.e. this one) with the associated mol files. In this way the user would have the possibility to re-done the animations.

It turns out it does not work like this. The result is almost always of much lesser quality than the animation. However, the sources of the animations (obtained from the awk scripts) are available here.  But as I told at the beginning of the post, they are hard to play (fast enough for the goldfish attention), actually this was the initial reason for producing animations, because the first demos, even chosen to be rather short, were still too long…

So this is a more of a work of art, which has to be carefully restored. I have to extract the useful info from the old simulations and embed it into a full js solution. Coming back to randomness, in the original version there are random cascades of rewrites, not random rewrites, one at a time, like in the new js version… and they extinguish the randomly available pockets of enzymes, according to some exponential laws… and so on. That is why the animations look more impressive than the actual fast solution, at least for big graphs.

It is true that the js tools from the quine graphs repository have many advantages: interaction combinators are embedded, there is a lambda calculus to chemlambda parser… With these tools I discovered that the 10 nodes quine does reproduce, that the ouroboros is mortal, that there are many small quines (in interaction combinators too), etc.

And it turns out that I forgot that many interesting mols and other stuff was left unsaid or is not publicly available. My paranoid self in action.

In conclusion probably I’ll make available some 300 commented gifs from the collection and I’ll pass to the scientific part. I’d gladly expose the art part somewhere, but there seems to be no place for this art, technically, as there is no place, technically, for the science part, as a whole, beyond just words telling stories.

There will be, I’m sure.

Open access in 2019: still bad for the career

Have you seen this:

“The American publishing industry invests billions of dollars financing, organizing, and executing the world’s leading peer-review process in order to ensure the quality, reliability, and integrity of the scientific record,” said Maria A. Pallante, President & CEO of the Association of American Publishers. “The result is a public-private partnership that advances America’s position as the global leader in research, innovation, and scientific discovery. If the proposed policy goes into effect, not only would it wipe out a significant sector of our economy, it would also cost the federal government billions of dollars, undermine our nation’s scientific research and innovation, and significantly weaken America’s trade position. Nationalizing this essential function—that our private, non-profit scientific societies and commercial publishers do exceedingly well—is a costly, ill-advised path.”

Yes, well, this is true! It is bad for publishers, like Elsevier, it is bad for some learned societies which sign this letter, like the ACM.

But it would be a small step towards a more normal, 21st century style of communication among researchers. Because researchers do no longer need scientific publishers of this kind.

What is more important? That a useless industry loose money, or that researchers could discuss normally, without the mediation of this parasite from an older age?

Obviously, researchers have careers, which depend on the quantification of their scientific production. The quantification is made according to rules dictated by academic management. The same management who decides to buy from the publishers something the researchers already have (access).

So, no matter how evil the publishers may be, management is worse. Because suppose I make a social media app which asks 1$ for each word one types into it. Would you buy it, in case you want to exchange messages with your colleagues? No, obviously. No matter how evil I am by making this app, I would have no clients. But suppose now that your boss decides that the main criterion of career advancement is the number of words you typed into this app. Would you buy it, now? Perhaps.

Why, tell me why the boss would decide to make such a decision? There has to be a reason!

Who is the most evil? I or the boss?

There was a coincidence that the same day I learned about the letter against open access, I also read Scott Aaronson post about the utmost important problem of the name “quantum supremacy”.

The post starts with a good career news:

“Yay! I’m now a Fellow of the ACM. […] I will seek to use this awesome responsibility to steer the ACM along the path of good rather than evil.”

Then Scott spends more than 3100 words discussing the “supremacy” word. Very important subject. People in the media are concerned about this.

First Robert Rand comment, then mine, asked about Scott’ opinion  as a new member of the ACM, concerning the open access letter.

The answer has a 100 words, the gist being:

“Anyone who knows the ACM better than I do: what would be some effective ways to register one’s opposition to this?”

A  possible answer for my question concerning bosses is: OA is still bad for the career, in 2019.


Lambda calculus to chemlambda parser (2) and more slides

This post has two goals: (1) to explain more about the lambda to chemlambda parser and (2) to talk about slides of presentations which are connected one with the other across different fileds of research.

(1) There are several incremental improvements to the pages from the quine graphs repository. All pages, including the parser one, have two sliders, each giving you control about some parameters.

The “gravity” slider is kind of obvious. Recall that you can use your mose (or pinching gestures) to zoom in or out the graph you see. With the gravity slider you control gravity. This allows you to see better the edges of the graph, for example, by moving the gravity slider to the minimum and then by zooming out. Or, on the contrary, if you have a graph which is too spreaded, you can increase gravity, which will have as aeffect a more compactly looking graph.

The “rewrites weights slider” has as extrema the mysterious words “grow” and “slim”. It works like this. The rewrites (excepting COMB, which are done preferentially anyway) are grouped into those which increase the number of nodes (“grow”) and the other ones, which decrease the number of nodes (“slim”).

At each step, the algorithm tries to pick at random a rewrite. If there is a COMB rewrite to pick, then it is done. Else, the algorithm will try to pick at random one “grow” and one “slim” rewrite. If there is only one of these available, i.e. if there a “grow” but no “slim” rewrite, then this rewrite is done. Else, if there is a choice between two randomly choses “grow” and “slim” rewrites, we flip a coin to choose among them. The coin is biased towards “grow” or “slim” with the rewrites weights slider.

This is interesting to use, for example with the graphs which come from lambda terms. Many times, but not always, we are interested in reducing the number of nodes as fast as possible. A strategy would be to move the slider to “slim”.

In the case of quines, or quine fights, it is interesting to see how they behave under “grow” or “slim” regime.

Now let’s pass to the parser. Now it works well, you can write lambda terms in a human way, but mind that “xy” will be seen as a variable, not as the application of “x” to “y”. Application is “x y”. Otherwise, the parser understands correctly terms like

(\x.\y.\z.z y x) (\x.x x)(\x. x x)\x.x

Then I followed the suggestion of my son Matei to immediately do the COMB rewrites, thus eliminating the Arrow nodes given by the parser.

About the parser itself. It is not especially short, because of several reasons. One reason is that it is made as a machine with 3 legs, moving along the string given by the lexer. Just like the typical 3-valent node. So that is why it will be interesting to see it in action, visually. Another reason is that the parser first builds the graph without fanout FO and termination T nodes, then adds the FO and and T nodes. Finally, the lambda term is not prepared in advance by any global means (excepting the check for balanced parantheses). For example no de Bruijn indices.

Another reason is that it allows to understand what edges of the (mol) graph are, or more precisely what port variables (edge variables) correspond to. The observation is that the edges are in correspondence with the position of the item (lparen, rparen, operation, variable) in the string. We need at most N edge names at this stage, where N is the length of the string. Finally, the second stage, which adds the FO and T nodes, needs at most N new edge names, practically much less: the number of duplicates of variables.

This responds to the question: how can we efficiently choose edge names? We could use as edge name the piece of the string up to the item and we can duble this number by using an extra special character. Or if we want to be secretive, now that we now how to constructively choose names, we can try to use and hide this procedure.

Up to now there is no “decorator”, i.e. the inverse procedure to obtain a lambda term from a graph, when it is possible. This is almost trivial, will be done.

I close here this subject, by mentioning that my motivation was not to write a parser from lambda to chemlambda, but to learn how to make a parser from a programming language in the making. You’ll see and hopefully you’ll enjoy 🙂

(2) Slides, slides, slides. I have not considered slides very interesting as a mean of communication before. But hey. slides are somewhere on the route to an interactive book, article, etc.

So I added to my page links to 3 related presentations, which with a 4th available and popular (?!) on this blog, give together a more round image of what I try to achieve.

These are:

  • popular slides of a presentation about hamiltonian systems with dissipation, in the form baptized “symplectic Brezis-Ekeland-Nayroles”.  Read them in conjuction with arXiv:1902.04598, see further why
  • (Artificial physics for artificial chemistry)   is a presentation which, first, explains what chemlambda is in the context of artificial chemistries, then proceeds with using a stochastic formulation of hamiltonian systems with dissipation as an artificial physics for this artificial chemistry. An example about billiard ball computers is given. Sure, there is an article to be written about the details, but it is nevertheless interesting to infer how this is done.
  • (A kaleidoscope of graph rewrite systems in topology, metric geometry and computer science)  are the most evolved technically slides, presenting the geometrical roots of chemlambda and related efforts. There are many things to pick from there, like: what is the geometrical problem, how is it related to emergent algebras, what is computation, knots,  why standard frames in categorical logic can’t help (but perhaps it can if they start thinking about it), who was the first programmer in chemlambda, live pages where you can play with the parser, closing with an announcement that indeed anharmonic lambda (in the imperfect form of kali, or kaleidoscope) soves the initial problem after 10 years of work. Another article will be most satisfactory, but you see, people rarely really read articles on subjects they are not familiar with. These slides may help.
  • and for a general audience my old (Chemlambda for the people)  slides, which you may appreciate more and you may think about applications of chemlambda in the real world. But again, what is the real world, else than a hamiltonian system with dissipation? And who does the computation?



Quine graphs (3), ouroboros, hapax and going public

Several news:

I decided that progressively I’m going to go public, with a combination of arXiv, Github and Zenodo (or Figshare), and publication. But there is a lot of stuff I have to publish and that is why this will happen progressively. Which means it will be nice to watch because it is interesting, for me at least,  to answer to the question:

What the … does a researcher when publishing? What is this for? Why?

Seriously, the questions are not at all directed against classical publication, nor are they biased versus OA. When you publish serially, like a researcher, you often tell again and again a story which evolves in time. To make a comparison, it is like a sequence of frames in a movie.

Only that it is not as simple. It is not quite like a sequence of frames,  is like a sequence of pictures, each one with it’s repeating tags, again and again.

Not at all compressed. And not at all like an evolving repository of programs which get better with time.

6 months since my first javascript only

… program, this one: How time flows: Gutenberg time vs Internet time . Before I used js only for the latest stage, written (clumsily, I admit) by other programs. Since then I wrote hapax  and I modified other scripts to fit my needs, mainly, but this corrected a gap in my education 🙂

Oh btw if anybody interested to see/interact on this talk I’d like to propose: [adapted from a pdf (sigh) for my institution management, though they are in the process to reverse to  the pre-internet era  and they managed to nuke all mail addresses a domain which was  rock solid since at least 20 years; that’s why I post it here]

A kaleidoscope of graph rewrite systems in topology, metric geometry and computer science
Graph rewrite systems are used in many research domains, two among many examples are Reidemeister moves in knot theory or Interaction Combinators in computer science. However, the use of graph rewrites systems is often domain dependent. Indeed, for the knot theory example we may use the Reidemeister move in order to prove that the Kauffman bracket is a knot invariant, which means that it does not change after the graph is modified by any rewrite. In the other case given as an example, Interaction Combinators are interesting because they are Turing universal: any computation can be done with IC rewrite rules and the rewrites are seen as the computational steps which modify the graphs in a significant way.

In this talk I want to explain, for a general audience, the ocurence and relations among several important graph rewrite systems. I shall start with lambda calculus and the Church-Turing thesis, then I shall describe Lafont’ Interaction Combinators [1]. After that I shall talk about graphic lambda calculus [2], about joint work with Louis Kauffman [3] on relations with knot theory. Finally I explain how I, as a mathematician, arrived to study graph rewrites systems applications in computer science, starting from emergent algebras [4] proposed in relation with sub-riemannian geometry and ending with chemlambda [5], hapax (demo page [6], presentation slides [7]) and em-convex [8] with the associated graph rewrite system [9] (short of “kaleidoscope”).

During the talk I shall use programs which are based on graph rewrites, which are free to download and play with from public repositories.

[1] Y. Lafont, Interaction Combinators, Information and Computation 137, 1, (1997), p. 69-101

[2] M. Buliga, Graphic lambda calculus. Complex Systems 22, 4 (2013), p. 311-360

[3] M. Buliga, L.H. Kauffman, Chemlambda, Universality and Self-Multiplication, The 2019 Conference on Artificial Life 2014 NO. 26, p.490-497
[4] M. Buliga, Emergent algebras, arXiv:0907.1520

[5] M. Buliga, Chemlambda, GitHub repository (2017)
[6] M. Buliga, Hapax, (2019) demo page,
Github repository

[7] M. Buliga, Artificial physics of artificial chemistries, slides (2019)

[8] M. Buliga, The em-convex rewrite system, arXiv:1807.02058

[9] M. Buliga, Anharmonic lambda calculus, or kali (2019),
demo page


I’d like to make this much more funny than it looks by using these js scripts. Also “kaleidoscope” is tongue-in-cheek, but that’s something only we know. Anyway kali is on the way to be finished, simplified and documented. And somehow different. For a short while, encouraged by these js scripts and similar attempts, I tried to believe that maybe, just maybe there is a purely local way to do untyped lambda, right around the corner. But it seems there isn’t, although it was fun to try again to search it. But then what to do? Maybe to be honest with the subject and say that indeed a purely local system, geometry inspired, exists, it it Turing universal, but it is not lambda calculus (although it can be guided by humans into being one, so that’s not the problem)? Maybe going back to my initial goal, which was to understand space computationally, which I do now? Yeah, I know that lambda calculus is fascinating, even more if untyped,  but em is so much better!


Cryptocurrency for life (2)

Continues from (part 1). Back home and almost healed I read Anand Giridharadas crusade where he has a very reasonable point:

“But then I had the following thought.

Why are the people not connected to Epstein leaving this orbit, while people connected to Epstein remain?

Shouldn’t it be the other way around?”

To have a direct confirmation of these self-protected circles of power is interesting. Rich donors and academia are some of the players. I’m directly interested about this from the point of view of somebody who tries to do Open Science since a long time: to paraphrase Anand

Why are the people not obeying old practices of academic publication leaving this orbit, while people connected with the useless legacy publishers remain?

Shouldn’t it be the other way round?


The same academic managers are in so friendly relations with publishers which do not offer anything to the scientific community. The honest effort of Open Access has become a caricature where it is entirely normal to baptize the_author_pays_for_publication as the way to do Open Access.

OK, so what is this having to do with the subject of this post? Simple: if the cryptocurrencies communities do want to explore new social models then research (of biological life as decentralized computing, as I suggest) should be a part of it. You can’t turn to the old fatigued elites, because they already gave what they can do to MS or others alike. They don’t have new ideas since a very long time. Hot air with old boys support.

But now comes my point: would these cryptocurrencies efforts support a new research structure? Why not? There are very clever people there who understand the importance.

But maybe they are in bed with the circle of power. Just maybe.

The following are beliefs only (what proof can you ask?). For reasons along the lines explained previously, since years I’m very skeptical about anything ethereum based, but I am really amazed by btc. Well, but who really know?

Does not the cryptocurrency community (or the parts of it which are not in bed with the enemy) want to make a point in research?




Cryptocurrency for life

Biological life is a billions years old experiment. The latest social experiments, capitalism and communism, are much more recent. Cryptocurrencies experiments are a really new response to the failures of those social experiments.

We don’t really understand biological life starting from it’s computational principles. As well, we don’t understand in depth decentralized computation which is at the basis of many cryptocurrencies experiments.

My point is that we try to solve the same problem, so that we shall be able to evolve socially at a human time scale. Not in hundred thousands years, in decades instead.

Therefore it would be only natural if the active people in the cryptocurrency realm would dedicate significant financial support to the problem of life.

How time flows: Gutenberg time vs Internet time

Based on  a HN comment, I made a page which proposes the hypothesis:

(Δ t-historic) = (Δ t-today)^(log 5/ log 2)


where the Δ t-historic is the time in decades from the invention of the printing press and Δ t-today is the time in decades from the opening of the ARPANET.

A collection of interesting correspondences is given, as well as some predictions, if this hypothesis is to be taken seriously.

The page has a small JS script for a calculator t-historic to t-today, so you can easily find new correspondences if you like the game. Please let me know in case.

UPDATE: There is now a very amusing python3 script by 4lhc, at this gist. It lets you write a year, recent or old, then it proposes two events, one from the old time and one from recent time. I played with it on my computer and it’s just cute!

[I had to install the wikipedia module and then the correct command is


wait a short moment and get the pair of events!]



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

Today I read Official EU Agencies Falsely Report More Than 550 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 Here is the message which appeared when I checked the archived link:


What? I contacted and got an answer from the webmaster, pretty fast. The problem was with, 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.

System X, semantic pain and disturbing news to some

This is a temporary post. Soon some news will come, some disturbing for some. This is just to entertain you with the System X, a small graph rewrite system proposed as a replacement for slide equivalence. Here is some prose I wrote while trying to understand 3 tiny graphic beta rewrites. This qualifies as semantic pain, but it was a very good exercice because it gives ideas (to those prone to have them, as opposed to those who lack personal ideas and take them without acknowledgement).

Google Scholar lost my molecular computers

Today I noticed that my Molecular computers article arXiv:1811.04960 is replaced by Google Scholar with the unrelated article  Defining Big Data Analytics Benchmarks for Next Generation Supercomputers, arXiv:1811.02287. I’m not an author of that article.

Screenshot from 2019-04-07 21:52:00


A cosmic ray is the cause?

Google search can still find it, but Google Scholar gives the wrong result.

UPDATE: I added the article by hand, but the link to the source (i.e. arXiv article) is not present. How can they loose arXiv articles? Or more precisely  arXiv e-prints , in no place arXiv uses the name “preprint arXiv”. Maybe google scholar merged with legacy publishers, who knows, these days…

Do you experience errors in Google Scholar?

Intermezzo (small graph rewrite systems)

Between the last post on small graph rewrite systems and a new one to follow, here are some other, real world examples of such systems.

Where is this from? Answer: M. Khovanov,   New geometrical constructions in low-dimensional topology, preprint 1990, fig. 20


Where is this from? Answer: L.H. Kauffman, Knots and Physics, World Scientific 1991, p. 336.


How can we put this in order?

Data, channels, contracts, rewrites and coins

We can think about all these in terms of dimension.

Data are  like points, 0 dimensional.

Channels (of communication) are 1-dimensional. They are the fundamental bricks of IT. They are not enough, though.

Contracts are 2-dimensional. A contract is an algorithm over channels.

As an example, here’s how we can turn a graph rewrite system in the  sticks and rings version  into a contract-like one.

For the (oriented) sticks and rings version of chemlambda see this. Two small rewrite systems involving non-oriented sticks are described here  and there.

The closest algorithm relevant for this post is the one from needs.  I shall mention in ths post names from there, like  “succ”, “ccus”, “gamma” and “ammag”.

We can descrine a sticks and rings graph with two invertible functions. Each node of a trivalent graph is decomposed as two half-nodes. Indees, cut a trivalent node  in half, you get a half-node with one half-edge  (this is type  I half-node) and another half-node with two half-edges (this is type II half-node).   Each stick has two ends which are type I half-nodes and it is a list which starts and ends with type I half-nodes and contains  otherwise only type II hald-nodes. A ring is a circular list made of type II half-nodes.

Succ and it’s inverse ccus is the function (permutation) which for any half-node from a  stick or ring gives the sucessor half-node, if any (or the predecessor half-node  in the case of ccus).

Gamma and it’s inverse  ammag is the function (permutation) which pairs each type I half-node with it’s type  II other half-node.

The new thing here is that we shall think about half-nodes as names of channels in an asynchronous pi-calculus.

In the needs algorithm the rewrites (which are  conservative in the number of half-nodes) are small permutations of half-nodes. The gamma-ammag function is passive, in the sense that it never changes.   The rewrites are  random.

In the version I   propose here   each half-node is a unidirectional channel which can be used to communicate other channels names and some data. In the case of the graph rewrite systems we discuss here the other data is the color of the (half-)node.

In the case of chemlambda strings we  need a bit for the half-node type and 2 bits for the colors. As a (half) tongue-in-cheek I used DNA or RNA like encoding, like in this screen casting, to turn a mol file into the sticks and rings version.


In the version proposed here we  change the algorithm of random application of a rewrite with an algorithm which involves only communication via the channels  associated with the half-nodes.

Here is  the description of a SH rewrite


Each  stick is the property of somebody (A, B, C, D, …), say an actor. A stick is a list of  channels names.  So the data (0-dim) are the channels names, organized in lists which are managed by actors.

Actors can send messages through channels and also they can edit their list.

A rewrite, here the SH,  is an contract, i.e. an algorithm which describes how to achieve the rewrite via communication and editing of list, such that each actor can locally  execute it’s part.

But how can we  read  such a contract? In many ways, because the formalism is so general. For example: B and D exchange C in the place A, witnessed by the notary node e1.

Then what can be the pairs  yellow-blue and blue-blue? Recall that originally the SH rewrite is


Well, coins? Or coin (yellow-blue) and gas (blue-blue)?  Or receipts? Imagination is the limit and all can be made  in practice. If you are interested to make it real contact me.


Let’s make an invisible conference

An invisible conference is a small community of interacting scholars who assemble suddenly in a public place, acquire knowledge through experimental investigation, then quickly disperse.

UPDATE: I made a page which will be  updated with details, in time.

I made up this description by copy-paste from wikipedia flash mob and invisible college.

The definition is not complete yet, there has to be included something from a key signing party.

Before the conference.       [TBA]

During the conference.     [TBA]

After the conference.     [TBA]


In case you want to meet and talk seriously, what if we organize an invisible conference? I have to think more about the place, say Bucharest, Romania? or maybe this summer at a nice camp by the sea (you need a tent)? other idea?

Express your interest at

I put this contact also on my alternative homepage.

The “invisible” word points to the idea of an invisible college, mentioned in another post.

This post will be updated many times probably, so bookmark it because it will be less visible when other, newer posts will appear.