If you think that em is too hard to follow then

  • wait for em-sym and em-torsor to appear soon
  • ask for details, help, I’d be happy to reply
  • implement em-convex in haskell(?) coq(?) or whatever and see what it does
  • my guess is that any implementation will lead to a jump in complexity comparable with what happened with chemlambda from the first plays on paper (on this blog for example) to the library of molecules.

I think I’ll be back on the practice of video talks.

And I’ll kick hard the legacy publishing. Btw what will you do, fellow academics, when the system will collapse? Tick, tock… 2 years? if you’re optimist.


What about arXiv/figshare/zenodo and the EU copyright reform?

As a researcher I would very much appreciate answers to the following questions:

  • suppose I put an article in arXiv, then it appears in a journal. Are the uses of the link to the arXiv version affected in any way?
  • continuing, will the choices of licenses, among those used by arXiv, lead to different treatments?
  • does the EU copyright reform apply to articles which are already available on arXiv  (and also in journals)?
  • is there anything in the EU copyright reform which harms the arXiv?
  • what about other repositories, like figshare for example? what about zenodo?

I insist with the arXiv example because in some research fields, like mathematics or physics, the usual way things happen re articles is this: first the researcher submits the article to arXiv, then the article is published in a legacy journal. Some times the article is not published in journals, but it is cited in other articles published in journals.  Most of the articles are available therefore in two places: arXiv (say) and journal. From what I read about the EU copyright reform, I can’t understand if the use of the arXiv version of an article will be affected by this reform.

While I can understand that there are many problems concerning open source software repositories, I would like to see a clear discussion about this subject which is close but different from the subject of open source software repositories.

Some questions about em and chemlambda

This is a light reading post about the relations between chemlambda and em, the “emergent” graph rewrite system. Why em? What is the problem with chemlambda? What’s the point?

As you may have seen the chemlambda project entered a less public stage of development. At that stage chemlambda was a made-up very simple (but not too simple) chemistry which could either be implemented in the physical reality or it could be recognized as active in the physical reality. Both possibilities are great! See this html/js short presentation to see why molecular computers based on chemlambda may be very close to reality.

Walk with me on this road. At this moment chemlambda is a chemistry which has the feature that we can abstract from the main problem in computations in real chemistry: space. It is only enough to know that if the reactions are possible, then for well designed molecules, eventually they will do anything (Turing complete).

The main selling point of chemlambda, in my opinion, is the fact that it is a model of computation which is purely local and random. Want to use it for decentralized computing? Be my guest! (and write programs with me) But far more intriguing, at least in my view, is the chemistry part and the amazing (or frightening) avenues which open.

Let’s look at chemlambda working in a computer, by using the programs from the repository. Let’s pick the random reduction algorithm. All over it there are steps where a coin is flipped, which means that we use another program which generates pseudo-random numbers.

Q1: What is probability?   (see Q5)

In real chemistry the probability (of chemical reactions, say) is the manifestation of space. Real molecules have shapes and they are in space (and everything is a quantum process) and all this is what creates probability.

Probability is space.

Or in chemlambda from inside the computer this is left to an unspecified program which gives pseudo-random numbers.

The program should be a part of chemlambda and there is where we should look for space.

Let’s continue with the idea that chemlambda is chemistry. A graph in chemlambda is a molecule which interacts randomly  with other molecules according to the chemical reactions which  are the graph rewrites. We can actually see all the molecules (in the original chemlambda we don’t see the enzymes) if we use another encoding of chemlambda, presented in Chemlambda strings and (partially, the main algorithm) in the needs repository.

Let’s pretend that these are real molecules. We made an artificial chemistry, let’s go one step further and make an artificial physics.

For this we need to reformulate all in terms of a quantum mechanics and a hamiltonian.

We don’t need to be very sophisticated, we just need some simple algorithmic way to look at space, physics and quantum mechanics… of these chemlambda molecules. The ultimate goal would be to build a pseudo-random number generator which is of the same nature, on the same level as the rest of the chemlambda algorithm.

Q2. What is space?

Here we have an answer: algorithmically a space is an emergent algebra, but expressed logically, for example by the em-convex rewrite system. Which is great, but darn, is commutative (as all linear logic btw). OK, we’ll fix it later, what next?

Q3. What is space from the point of view of building a quantum mechanics on it?

There are non-commutative versions of em which answer this. For example we can describe what is algorithmically a state space, by using em. The problem is that em itself describes a much larger class of spaces than needed by physics, but em plus another axiom than (convex) (because (convex) leads us to commutative spaces) gives us exacly what we need.

Q4. What is quantum mechanics?

That’s easy, is just a smooth evolution flow in such a space. Smooth? Yes, in the noncommutative sense which is encountered in sub-riemannian geometry. No need to use Hilbert spaces here, they are built, not primitive, like for example in projective geometry we can build the field of numbers by geometrical means.

Now we just need to pick the simplest hamiltonian for our molecules and eventually we arrive to

Q5. What is probability?

which translates into the real question, which is

Q6. How to merge the chemlambda side of the algorithm with the pseudo-random generator algorithm based on the made up space and physics?

seen that since everything is built from the same ingredients (graphs), they should be actually the same. Or otherwise said, the distinction between the chemlambda rewrites part of the algorithm and the random-generator which decides which rewrites are done, this distinction is artificial, deep down there is no distinction.


Random vectors and fast reduction of lambda calculus terms

Em-convex is a lambda calculus, so it could be implemented in Haskell say.

What would be really interesting is the following:

Problem: given two terms A, B, is it true that A, B reduce to the same term C?

Numerical solution:

  • generate a list of 1024 or 2048 dimensional random vectors, before the reduction to happen, to be used later, they will be constants of type E, and a list of random scalars of type N
  •  input two em-convex term, A, B, they are functions over some power of E and N
  •  evaluate A, B and check if A(x)=B(x) for a single argument x, where x is built from the list of random elements:E and random elements:N

How fast is this?

Groups are numbers (3). Axiom (convex)

This post will be updated as long as the em draft will progress. Don’t just look, ask and contribute.

UPDATE 3: Released: arXiv:1807.02058.

UPDATE 2: Soon to release. I found something so beautiful that I took two days off, just to cool down. Wish I release this first em-convex article in a week, because it does not modify the story told in that article. Another useful side-effect of writing this is that I found a wrong proof in arXiv:0804.0135 so I’ll update that too.

UPDATE: Don’t mind too much my rants, I have this problem, that what I am talking about is in the future with respect to what I show. For example I tried to say it several times, badly! that chemlambda may be indeed related to linear logic, because both are too commutative. Chemlambda is as commutative as linear logic because in chemlambda we can do the shuffle. Or the shuffle is equivalent with commutativity, that’s what I tried to explain last time in Groups are numbers (1). There is another, more elaborate point of view, a non-commutative version of chemlambda, in the making. In the process though, I went “oh, shiny thing, what’s that” several times and now I (humbly try to) retrace the correct steps, again, in a form which can be communicated easily. So don’t mind my bad manners, I don’t do it to look smart./

The axiom (convex) is the key of the Groups are numbers (1) (2) thread. Look at this (as it unfolds) as if this is a combination of:

  • the construction of the field of numbers in projective geometry and
  • the Gleason and Montgomery-Zippin solution to the Hilbert 5th problem

I think I’ll leave the (sym) axiom and the construction of coherent projections for another article.

Not in the draft available there are about 20 pages about the category of conical groups, why it is not compact symmetric monoidal (so goodbye linear logic) but it has as a sub-category Hilb. Probably will make another article.

I sincerely doubt that the article form will be enough. I can already imagine anonymous peer reviews where clueless people will ask me (again and again) why I don’t do linear logic or categorical logic (not that it is useless, but it is in the present form heavily influenced by a commutative point of view, is a fake generalization from a too particular particular case).

A validation tool would be great. Will the chemlambda story repeat, i.e. will I have to make, alone, some mesmerizing programs to prove what I say works? I hope not.

But who knows? Very few people deserve to be part of the Invisible College. People who have the programming skills (the easy part) and the lack of prejudices needed to question linear logic (the hard, hacker part).


Time for some code (Coq?)

The proofs for em start to be difficult to follow for a human, it happens like when I got into more complex chemlambda molecules, only this time

  • I don’t have code to verify/run them
  • I try to stick as much as possible to classical ways and notations

So I’d appreciate some help or advice, what to use? Haskell? Some proof assistants? Help needed here, this could turn into a fun code project.

UPDATE: Coq would be great.

UPDATE 2: Yes differential geometry can be formalized in Coq, CoC, etc. Hamiltonian mechanics for sure, QM almost sure, statistical thermodynamics is within reach. Only patience is needed. But for what? A pat on the back? A team would do this in 5 years, I’m not sure I’m willing to do this rewrite for reasons which suck. Probably will do it though for fun and fuck you. /

Here are some things I’d like to try with the help of code:

  • have all the proofs from the em paper written and verified
  • program in em REPL style
  • the trees notation I use are very close to writing, they are like forrests of trees, so a side effect of the notation is that it shortens considerably the exposition of the proofs (of course that trees are nice, if they are not too big, then even this tree notation does not fit on page). Some visual trick/code to help?
  • exploration of CONICAL the category of conical groups and the smaller CARNOT category. These are (severely) not compact symmetric monoidal categories, even if FinHilb can be made into a subcategory of CARNOT, FinVect too. Explain concretely why things break in interesting ways for CONICAL. Discover some new category stuff in the process.
  • btw why not make some categorical QM translation from FinHilb into CONICAL? Everything should work nice, just use the embedding. I don’t know what gives though, but it does use (Pansu) differentiability arguments instead of scalar products structures, hm.
  • this would really really interest me: build something which correspond to Gleason and Montgomery-Zippin, afaik their solution of the Hilbert 5th problem was not formalized.
  • naturals and booleans in em (which I keep private until everything before them works well) are very geometrical, so what does a program (ie an em term)  execution looks like in a particular geometry?
  • geometry of manifolds: alpha renaming in em
  • when the naturals (except 0) are invertible then we get two calculi, commutative and non-commutative, the non-comm looking down at the comm calculus (as Semmes would write). So we get to the frame of coherent projections for free (but in the same formal sense which replaces un iform convergence and continuity). Formalize sub-riemannian geometry, looks feasible.
  • or just forget all this math and write another semantics in terms of paths on maps. For this (written on paper) I need people who know deeply and rigorously the internet.

Probably some of these will happen and some not, because, with code available, 100X crazier ideas emerge.

And we’ll get from em to chemlambda, but there’s a lot of ground to cover.

Where? What to use? How to use?

Let me know, I’d appreciate.

Three interesting points

Because I’m not sure if I’m going to use Github in the future, instead of contributing to the em repository, I attach here the actual version of the em rewrite system paper. You know how it is: more you write, less goes into the final result.

The goal is to build a lambda calculus style version of emergent algebras, so that emergent algebras become a semantic for this system. One of the problems is that emergent algebras are partly algebraic and partly topological, involving uniform convergence and uniform continuity. But on the other side all this topological frame is not really needed, hence let’s pass it to the semantic side and see what we really have: the em.

The paper is not finished, it still needs developments:

  • booleans and naturals encodings
  • the sym rewrite and symmetric space like naturals
  • the sym and the convex rewrites are a fork for two kinds of numbers, this needs to be explored more [update: no, I proved that (convex) implies (sym) and that (convex) is far more rigid than (sym) because it leads only to commutative stuff, but it’s nice to know, because it gives a sort of axiomatization of FinVect and classical calculus starting from rewrites on trees, no modules, no fields, everything gets constructed from trees.]


Another interesting thing is Victor Maia absal-ex repository. He continues his abstract algorithm explorations. The rewrites are close but not the same as mine, on the contrary his buffer representation of graphs is essentially what I do in needs, see also chemlambda strings for non tehnical explanations. I have the needs algorithm (libraries not public in needs repository) and the theoretical treatment, as a permutation rewrite machine, since a year, maybe one day I’ll post them if you are interested and motivate me to do it. Victor has superb programming skills and I wish him the best in his independent research work, looking forward to see how the abstract algorithm develops further.


And I’m really curious what King is cooking in the   RKoD-web   repository. He’s the guy who did chemlambda-hask version in Haskell of chemlambda, he’s highly gifted and very young, watch him doing stuff!


computing with space | open notebook


computing with space | open notebook


The World's First Autonomous Data Network


An experimental 3d voxel rendering algorithm

Gödel's Lost Letter and P=NP

a personal view of the theory of computation

%d bloggers like this: