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?