## Abstract

On the real numbers, the notions of a semi-decidable relation and that of an effectively enumerable relation differ. The second only seems to be adequate to express, in an algorithmic way, non-deterministic physical theories, where magnitudes are represented by real numbers.

The physical Church–Turing thesis, if it holds, suggests that the laws of nature can be expressed, not only in the language of mathematics, but also in an algorithmic language. Gandy's [1] argument (see also [2–4]), which supports the physical Church–Turing thesis, even suggests that these algorithms may operate on the elements of a countable set, such as the natural numbers, the rational numbers, the elements of an extension of finite degree of the field of rational numbers, the computable real numbers, etc.

Nevertheless, the desire to remain as close as possible to the traditional formulations of the laws of nature rather leads one to try to describe these laws using algorithms operating on real numbers. This use of algorithms operating on real numbers may be just a first step towards that of algorithms operating on the elements of a countable set, but it may also simplify the formulation of the laws of nature, which might be more complex if formulated as algorithms operating on the elements of a countable set. We do not claim that physical magnitudes are adequately described by real numbers, nor that all the infinite amount of information contained in a real number is relevant in this description, but simply that real numbers have been used to describe physical magnitudes and that this justifies the attempt to describe the laws of nature in an algorithmic way, using algorithms operating on real numbers.

An algorithmic formulation of the laws of nature should not predict more than the usual propositional formulation of the same laws. As some of the laws of physics are non-deterministic, it seems that we must use non-deterministic algorithms to express these laws in an algorithmic way.

The notion of a non-deterministic algorithm and that of an algorithm operating on real numbers have been defined and well studied. It seems, however, that the conjunction of these two notions, i.e. the notion of a *non-deterministic algorithm operating on real numbers*, remains to be defined. In this study we discuss what such a definition could be.

We assume that the notion of a computable function operating on the natural numbers is known. The set of such functions can, for instance, be defined as the smallest set containing the projections, the null functions, the successor function and closed by composition, definitions by induction and minimization. Other definitions based on the notions of Turing machines, rewrite systems, etc. are possible. This notion extends to countable sets by numbering their elements.

## 1. Non-deterministic algorithms

### (a) Algorithms, functions and relations

A deterministic algorithm, which takes an element of a set *A* as an argument and returns an element of a set *B* if it terminates, defines a partial function from *A* to *B*.

A non-deterministic algorithm, in contrast, defines a relation between the sets *A* and *B* and it is therefore natural to try to characterize the relations that correspond to these algorithms. A relation *R* between two sets *A* and *B* can always be seen as a function from *A* to the power set of *B*: the function that maps the element *x* to the set *R*_{x}={*y*∈*B*|*x* *R* *y*}. This leads to raising, in a first step, the question of the representation of sets with computable functions.

#### (i) Characteristic functions

When the set *B* is countable and the sets *R*_{x} are all finite, they can be numbered. But this solution is not available when, as is often the case in physics, the sets *R*_{x} may be infinite.

In this case, a possibility is to represent the set *R*_{x} by an algorithm expressing its characteristic function. Using this representation of sets leads to representing the relation *R* by a function *f* that maps *x* to a function that maps *y* to the value 1 or 0 depending on the fact that *x* *R* *y* or not. Using the fact that a function taking values in a functional space is equivalent to a function of several arguments, the relation *R* can also be represented as the binary function that maps (*x*,*y*) to 1 or 0 depending on the fact that *x* *R* *y* or not, i.e. by its own characteristic function. This leads to representing a non-deterministic algorithm by a *decidable relation*, i.e. a relation whose characteristic function is computable.

#### (ii) Partial characteristic functions

Another possibility is to represent the set *R*_{x} by an algorithm expressing its partial characteristic function, i.e. by the function that takes the value 1 at *y* if *y* is an element of *R*_{x}, but is not defined at *y* otherwise.

Using this representation of sets leads to representing the relation *R* by a function *f* that maps *x* to the partial function that maps *y* to the value 1 if *x* *R* *y* and that is not defined at *y* otherwise. Using again the fact that a function taking values in a functional space is equivalent to a function of several arguments, the relation *R* can also be represented as a binary function that maps (*x*,*y*) to 1 if *x* *R* *y* and that is not defined at (*x*,*y*) otherwise, i.e. by its own partial characteristic function. This leads to representing a non-deterministic algorithm by a *semi-decidable relation*, i.e. a relation whose partial characteristic function is computable.

#### (iii) Enumeration functions

A third possibility is to represent the set *R*_{x} by an algorithm expressing a total function whose image is this set. The elements of the domain *Ω* of this function are called *indices*. When this set is finite or countable, by using a numbering of its elements, we can restrict, without loss of generality, to the case where it is the set of natural numbers. To avoid distinguishing a special case for the empty set, we shall consider that this function may fail, i.e. take a special value that is not taken into account in its image.

Using this representation of sets leads to representing the relation *R* by a function *f* that maps *x* to a function *f*_{x} such that *x* *R* *y* if and only if there exists an index *i* such that *y*=*f*_{x}(*i*). Without loss of generality, we can assume that all the functions *f*_{x} share the same set of indices and using again the fact that a function taking values in a functional space is equivalent to a function of several arguments, the relation *R* can also be represented by a binary function *f* such that *x* *R* *y* if and only if there exists an index *i* such that *y*=*f*(*x*,*i*).

This leads to representing non-deterministic algorithms by *effectively enumerable* relations, i.e. relations *R* such that there exist a set *Ω* and a computable function *f* from *A*×*Ω* to *B* such that for all *x* and *y*, *x* *R* *y* if and only if there exists an *i* such that *y*=*f*(*x*,*i*).

#### (iv) Relating these notions

These various notions are related: classical results show that a decidable relation is semi-decidable and that a relation is semi-decidable if and only if it is effectively enumerable.

Indeed, if a relation *R* is decidable, then by composing its characteristic function with a function that maps 1 to 1 and is not defined at 0, we obtain its partial characteristic function, which is therefore computable.

If a relation *R* is semi-decidable, then there exists a computable function *f* that takes the value 1 at (*x*,*y*) if and only if *x* *R* *y*. Then there exists a computable function *g* such that *g*(*x*,*y*,*i*) takes the value 1 if the *i* first steps of the computation of the value of *f* at (*x*,*y*) give the result 1 and takes the value 0 otherwise. Let *h* be the computable function mapping (*x*,(*y*,*i*)) to *y* if *g*(*x*,*y*,*i*)=1 and an exceptional value otherwise. We have *x* *R* *y* if and only if there exists a *j* such that *y*=*h*(*x*,*j*). Thus the relation *R* is effectively enumerable.

We remark that we can avoid the use of an exceptional value if all the sets *R*_{x} are non-empty. In this case, we first show the existence of a computable function *d* mapping *x* to an element of *R*_{x} and we define the binary function *h* as the function that maps (*x*,(*y*,*i*)) to *y* if *g*(*x*,*y*,*i*)=1 and to *d*(*x*) otherwise.

Conversely, if a relation *R* is effectively enumerable, there exists a function *f* such that *x* *R* *y* if and only if there exits an index *i* such that *y*=*f*(*x*,*i*). By numbering the elements of the set *Ω*, we can restrict, without loss of generality, to the case where this set is the set of natural numbers. To determine if two elements *x* and *y* are in a relation or not, it is sufficient to compute, in a sequential way, the values *f*(*x*,0),*f*(*x*,1),*f*(*x*,2),… and to return the value 1 if the result of one of these computations is equal to *y*. The partial characteristic function of *R* is therefore computable.

We remark that the decidability of equality over the natural numbers is used in this proof in an essential way.

Finally, we can prove that a relation can be defined in a non-deterministic classical model (the Turing machine, the rewrite system, etc.) if and only if it is semi-decidable or, equivalently, effectively enumerable. Thus, the notion that captures non-deterministic algorithms is not that of a decidable relation, but that of a semi-decidable relation or, equivalently, that of an effectively enumerable relation.

### (b) Index, elementary event, possible world, universe and hidden variable

This notion of an index, used in the definition of the notion of an effectively enumerable relation, is reminiscent of several other notions, used in various domains, that are all concerned, in one way or another, with the notion of potentiality.

First, it is reminiscent of the notion of an *elementary event* in Kolmogorov's notion of a probability space. Given an element *x*, the function that maps an index *i* to the value *f*(*x*,*i*) could therefore be called a *random variable* even if the set of indices is not necessarily equipped with a probability distribution. Then, it is reminiscent of the notion of a *possible world* that is used in Kripke's models of modal logics, and that of *universe* in Everett's interpretation of quantum physics, according to which all the possible results of an experiment, predicted by the theory, indeed happen, but each in a different universe. The fact that *f*(*x*,*i*)=*y* can therefore be read as the fact that, in the world *i*, the algorithm *f* maps *x* to *y*. Finally, it is reminiscent of the notion of a *hidden variable*, because non-determinism is interpreted as the dependence to an ancillary variable.

## 2. Computation over the real numbers

The links between computability theory and analysis are as old as computability theory itself, as Turing [5] already defined the notion of a computable real number. Here, we are interested in defining a notion of a computable function from the real numbers to the real numbers.

### (a) Computability over the real numbers

A possible definition, in the style of Grzegorczyk, Lacombe and Weihrauch, is that a function *f* from an interval *I* of to is computable if there exists a computable function *F* from to such that for all *x* in *I*, *q* and *r* in , *η* and *ε* in
Put in another way, if (*r*,*ε*)=*F*(*q*,*η*) and *q* is an approximation of *x* up to *η*, then *r* is an approximation of *f*(*x*) up to *ε*.

We must, however, be able to know the value of *f*(*x*) with an arbitrary accuracy, which leads us to put another condition: if *x* is a real number and (*q*_{n})_{n}, (*η*_{n})_{n}, (*r*_{n})_{n} and (*ε*_{n})_{n} are sequences such that for all *n*, (*r*_{n},*ε*_{n})=*F*(*q*_{n},*η*_{n}) and |*x*−*q*_{n}|≤*η*_{n} and the sequence *η* goes to 0 at infinity, then the sequence *ε* also goes to 0 at infinity.

This definition is equivalent to that of Weihrauch [6], and when *I* is a compact interval [*a*,*b*], it is also equivalent to the definition of Grzegorczyk and Lacombe, as, for instance, presented by Pour-El & Richards [7], where a function *f* from an interval *I* of to is computable if there exists a computable function *e* from to and a computable function *F* from to such that for all *x* in *I*, *q* in and *ε* in
and where the function *e* mapping the desired accuracy *ε* on the image of *f* to the requested accuracy on its argument has to be known *a priori* and uniform on the interval *I*. But these two definitions differ when the interval *I* is not compact.

We remark that all computable functions are continuous by definition. Hence, the characteristic function of equality and of the set are not computable.

We leave out in this discussion several other important notions of computability over real numbers. The first notion is that proposed by Blum, Cucker, Shub and Smale where equality is a decidable relation. Another notion is the non-extensional notion of computability, where the value of a function at a real number *x* may depend not only on this real number *x*, but also on its presentation, for instance on the Cauchy sequence used to define it. Despite their intrinsic interest, these notions do not seem to be relevant to the question of the algorithmic description of the laws of nature discussed here.

We remark that, when extending the notion of a computable function to real numbers, we do not extend the execution modalities of algorithms. We are still using the same execution modalities—Turing machines, rewrite systems, etc. Simply, these computation mechanisms are now used with rational numbers approximating the real numbers. The thesis that real computable functions defined in such a way are sufficient for describing the laws of nature, or that an analogue machine cannot compute a function that would exceed this notion of computability, implies that all that an analogue machine can compute can also be computed by a digital machine, or that a physical process cannot access in a finite time the infinite amount of information contained in a real number. This can be reformulated in more physical terms as the fact that a physical process cannot be used to identify, in a finite time, the difference between two close enough magnitudes.

### (b) The notion of a computable partial function over real numbers

This definition of computability over real numbers can be generalized easily to the notion of a computable partial function over real numbers.

It suffices to modify the second condition according to which the sequence *ε* must go to 0 at infinity. Instead, we require that, for each real number *x*, either for all sequences (*q*_{n})_{n}, (*η*_{n})_{n}, (*r*_{n})_{n} and (*ε*_{n})_{n} such that for all *n*, (*r*_{n},*ε*_{n})=*F*(*q*_{n},*η*_{n}) and |*x*−*q*_{n}|≤*η*_{n} and the sequence *η* goes to 0 at infinity, the sequence *ε* goes to 0 at infinity, or for all sequences (*q*_{n})_{n}, (*η*_{n})_{n}, (*r*_{n})_{n} and (*ε*_{n})_{n} such that for all *n*, (*r*_{n},*ε*_{n})=*F*(*q*_{n},*η*_{n}) and |*x*−*q*_{n}|≤*η*_{n} and the sequence *η* goes to 0 at infinity, the sequence *ε* is constant and equal to . In the second case, the attempt to obtain any approximation of *f*(*x*) by providing more and more accurate approximations of *x* leads to a computation that does not terminate: the function *f* is not defined at *x*.

We can prove in this way that the partial characteristic function of the set is computable. Indeed, it is computed by the function *F* that maps *q* and *η* to the ordered pair (1,*η*) if *q*−*η*>0, and to the ordered pair otherwise. Indeed, if *x* is strictly positive real, (*q*_{n})_{n} and (*η*_{n})_{n} two sequences such that for all *n*, |*x*−*q*_{n}|≤*η*_{n} and *η* goes to 0 at infinity, then the sequence (*q*_{n}−*η*_{n})_{n} goes to *x* at infinity and thus is strictly positive beyond a certain point. The sequence (*F*(*q*_{n},*η*_{n}))_{n} is therefore equal to (1,*η*_{n})_{n} beyond a certain point and *f*(*x*)=1. If *x* is negative or null, in contrast, we have for all *n*, *q*_{n}−*η*_{n}≤*x*≤0, thus the sequence (*q*_{n}−*η*_{n})_{n} is always negative or null and the sequence (*F*(*q*_{n},*η*_{n}))_{n} is always equal to : the function *f* is not defined at *x*. We can, in this way, express formally what is often stated informally: if *x* is strictly positive real, then there is an effective way of proving it.

We can prove that the domain of a partial computable function is always an open set. Indeed, if *f* is a function and *x* a real number such that *f*(*x*) is defined, then there exist sequences (*q*_{n})_{n} and (*η*_{n})_{n} such that for all *n*, |*x*−*q*_{n}|≤*η*_{n} and the sequence *η* goes to 0 at infinity. Let (*r*_{n})_{n} and (*ε*_{n})_{n} be sequences such that for all *n*, (*r*_{n},*ε*_{n})=*F*(*q*_{n},2*η*_{n}). The function *f* is defined at *x*, the sequence (2*η*_{n})_{n} verifies the condition that for all *n*, |*x*−*q*_{n}|≤2*η*_{n} and it goes to 0 at infinity. Thus, the sequence *ε* goes to 0 at infinity and there exists a natural number *m* such that *ε*_{m} is different from . As |*x*−*q*_{m}|≤*η*_{m}, the interval [*q*_{m}−2*η*_{m},*q*_{m}+2*η*_{m}] is a neighbourhood of *x* and for all *y* in this interval, |*y*−*q*_{m}|≤2*η*_{m}; thus there exist two sequences (*q*′_{n})_{n} and (*η*′_{n})_{n} such that *q*′_{0}=*q*_{m} and *η*′_{0}=2*η*_{m} and for all *n*, |*y*−*q*′_{n}|≤*η*′_{n} and such that the sequence *η*′ goes to 0 at infinity. Let (*r*′_{n})_{n} and (*ε*′_{n})_{n} be the sequences such that for all *n*, (*r*′_{n},*ε*′_{n})=*F*(*q*′_{n},*η*′_{n}). We have *ε*′_{0}=*ε*_{m}; thus the sequence *ε*′ is not constant and equal to and *f* is defined at *y*.

Thus, if we call *semi-decidable* a set whose partial characteristic function is computable, then all semi-decidable sets of real numbers are open.

## 3. Non-deterministic algorithms over real numbers

We have extended above the notion of computability of functions operating on natural numbers to relations between natural numbers. We can try to extend, in a similar way, the notion of computability of functions operating on real numbers to relations between real numbers.

To guide us in the choice of an extension of the notion of computability of functions operating on real numbers to relations between real numbers, we shall require, as a minimal condition, that the proposed definition extends the notion of a computable function, that is, that a function operating on real numbers is computable as a function if and only if it is computable as a relation.

### (a) Representing the set *R*_{x} by its characteristic function

Representing the set *R*_{x} by its characteristic function leads to representing a relation *R* by its characteristic function as well.

As the computable functions over real numbers are always continuous, the relations that have computable characteristic functions are only the empty and the full relation. Thus, this idea leads to a dead end.

### (b) Representing the set *R*_{x} by its partial characteristic function

Representing the set *R*_{x} by its partial characteristic function leads to representing the relation *R* by its partial characteristic function, as well.

We can, for instance, represent the relation *R* such that *x* *R* *y* if *x*<*y*<*x*+1, whose partial characteristic function is .

In contrast, the partial characteristic function of the relation *R* defined by *x* *R* *y* if *y*=*x* or *y*=*x*+1 is not computable, because its graph is not an open set. In the same way, the partial characteristic function of the functional relation *R* defined by *x* *R* *y* if *y*=*x* is not computable. Thus, if this solution allows more relations to be represented than the previous ones, it is far from being sufficient, as the identity, which is computable as a function, would not be computable as a relation.

### (c) Representing the set *R*_{x} by an enumerating function

As the characteristic function of equality over the real numbers is not computable, the argument developed in the case of natural numbers that effectively enumerable relations are semi-decidable cannot be generalized to the case of real numbers: there are a greater number of effectively enumerable relations than semi-decidable ones.

Representing the set *R*_{x} by an enumerating function leads to representing the relation *R* by a function *f* such that *x* *R* *y* if and only if there exists an index *i* such that *y*=*f*(*x*,*i*). In this definition, the set *Ω* may be arbitrary. It can, for instance, be the set of natural numbers, the real line, an interval of the set of natural numbers, an interval of the real line, etc.

This solution, unlike the previous ones, gives a large set of representable relations, for instance the relation *R* defined by *x* *R* *y* if *y*=*x* or *y*=*x*+1 is representable, taking the set of natural numbers for the set *Ω* and, for *f*, the function defined by *f*(*x*,0)=*x* and *f*(*x*,*i*)=*x*+1 if *i*≥1. This function is computed by the function *F* where *F*(*q*,*η*,0)=(*q*,*η*) and *F*(*q*,*η*,*i*)=(*q*+1,*η*) if *i*≥1. The functional relation *R* defined by *x* *R* *y* if *y*=*x* can also be represented by taking the set of natural numbers for *Ω* and, for *f*, the function defined by *f*(*x*,*i*)=*x*, which is computed by the function *F* defined by *F*(*q*,*η*,*i*)=(*q*,*η*).

More generally, all computable functions *g* mapping real numbers to real numbers can be represented as relations, as it suffices to define the function *f*(*x*,*i*) as *g*(*x*), ignoring the index *i*. Conversely, a functional relation that can be represented is computable as a function, because this function *g* associates with *x* the value *f*(*x*,*i*_{0}), where *i*_{0} is an arbitrary index.

The conclusion of this section is that among the three sets of relations we have defined, the last one, the set of effectively enumerable relations, is the largest and is the only one that contains all computable functions and the relation that maps the real number *x* to the real numbers *x* and *x*+1 is the one that intuitively seems to be computable. It is probably the only one that can be used as a description language for the laws of physics.

## 4. Probabilities

This notion of a non-deterministic algorithm can be extended to the notion of a probabilistic algorithm on real numbers.

Trying to represent a non-deterministic algorithm as a computable function *f* mapping an ordered pair (*x*,*y*) to the values 1 or 0 depending on whether *y* could be the result of the algorithm at *x* or not, leads to failure because, the function *f* being continuous, only the empty and the full relation could be represented.

We can try, instead, to map the ordered pair (*x*,*y*) not to 1 or 0 but to a real number, indicating the propension of *y* to be the result of the algorithm at *x*. Depending on the cases, this propension can be a probability, a density of probability, a number whose square is such a probability or a density of probability, etc.

A probabilistic algorithm, which takes an element of a set *A* as argument and returns an element of a set *B* if it terminates, defines a function that maps every element of *A* to a probability distribution over the set *B*, which is a function that maps a pair formed with an element *x* of *A* and a subset *Y* of *B* to the probability that the value of this algorithm at *x* is in *Y* .

Discussing the computability of this function is delicate, because we have the problem of representing the set *Y* . We can, nevertheless, focus on some particular cases. If the set *Y* is always an interval, we can replace this function by a repartition function, that is, a function that maps *x* and *y* to the probability that the value of the algorithm at *x* is less than *y*. If this repartition function is, moreover, differentiable, we can replace it by its derivative, that is, the function that maps *x* and *y* to the density of probability that the value of the algorithm at *x* is *y*. Another particular case is when the algorithm can take only a finite or countable number of values for each *x*. It is then possible to define this probability distribution by a function that maps *x* and *y* to the probability that the value of the algorithm at *x* is exactly *y*.

If we require this function to be computable, it must be continuous. In the first case, there are many random variables whose repartition function or density function is continuous. In the second case, the fact that the function that maps *x* and *y* to the probability that the value of the algorithm at *x* is *y* is continuous implies that if it is different from zero at a point *y*, it must be minored by a strictly positive value on a neighbourhood of *y*, which is contradictory. Thus, it is not possible to represent in this way a probabilistic algorithm that takes two different values at 0 with probabilities .

Going from non-deterministic algorithms to probabilistic ones thus gives to this method based on characteristic functions a wider spectrum, but not a spectrum wide enough to describe algorithms with a discrete probability distribution. The same argument eliminates also the attempt to base a definition on partial characteristic functions. A partial propension function defined at a point *y* is defined on a neighbourhood of this point and the same problem occurs as in the discrete case.

In contrast, the representation of relations based on the notion of an effective enumeration can be generalized easily to probabilistic algorithms with discrete probability distributions. With each pair (*x*,*i*), we associate a pair (*y*,*p*). We can, for instance, represent the algorithm that maps the real number *x* to *x* and *x*+1 with probabilities by taking for the set of indices *Ω*={0,1,2,3} and by defining the function *f* by and . The probability that the value of the algorithm at *x* is *y* is the sum of the *p*_{i} for the *i* such that *y*_{i}=*y*. In this case, the probability that the result of the algorithm at *x* is *x* is , that it is *x*+1 is as well and that it is another value is 0. This function that takes its value in a Cartesian product can be decomposed into two functions *h* and *p* such that *h*(*x*,0)=*h*(*x*,1)=*x*, *h*(*x*,2)=*h*(*x*,3)=*x*+1 and . This amounts to defining a non-deterministic algorithm with the function *h* and equipping independently the set *Ω* with a probability distribution.

This solution also permits one to represent the algorithm that maps the real number *x* to *x* and 2*x* with probabilities and the real number 0 to 0 with probability 1, defining the function *f* by and . This would not be allowed with a solution that would represent this algorithm as a function mapping each *x* to the set of possible results, each with its probability, as it would be discontinuous at 0.

The conclusion of this section is thus that, in the case of probabilistic algorithms, such as in the case of non-deterministic algorithms, the definition based on effective enumeration is that it permits one to represent the largest set of relations. In particular, it is the only one that permits one to represent the relation that maps the real number *x* to *x* and *x*+1, with probabilities , which intuitively seems to be computable.

## 5. What is a computable description of a non-deterministic theory in physics?

This discussion on the nature of non-deterministic algorithms on real numbers permits us to describe more precisely what it would mean for a theory in physics to have an algorithmic expression or not, when this theory is non-deterministic and represents physical magnitudes with real numbers.

To do so, let us imagine an experiment in which one prepares a system by choosing a magnitude *x*, lets the system evolve for a fixed time *T* and measures a magnitude *y*. Our two hypotheses on the theory we try to describe are that it represents magnitudes *x* and *y* by real numbers and that for each value *x*, it does not prescribe a unique result *y*, but a set of possible results, possibly equipped with probabilities. What would be an algorithm that would describe the results prescribed by the theory, for such an experiment?

As we have seen, we should expect such an algorithm to indicate neither if *y* is a possible result for the experiment initiated with the value *x* nor the probability for this result to be *y*.

In contrast, the theory should describe this experiment by a function that with each value of *x* associates a random variable *f*_{x} that is itself a function that maps each element of a set of indices *Ω* to a value *y*. We can call *f* the function that maps *x* and *i* to the value *f*_{x}(*i*). It is this function that an algorithmic description of the theory must represent by an algorithm.

The existence of such an algorithm is a strong constraint on the theory. In all the cases where the experiment is deterministic, it boils down exactly to the deterministic physical Church–Turing thesis: the fact that the link between *x* and *y* is a computable function. It is therefore neither more constraining nor less constraining for a theory to be algorithmic in the non-deterministic case than in the deterministic case.

We shall not answer here the question of whether such and such theory in physics is algorithmic or not. Our only purpose in this study was to try to understand how this question could be stated.

## Acknowledgements

I would like to thank Pablo Arrighi and Jean-Baptiste Joinet for many remarks on a previous draft of this study, Olivier Bournez, Assia Mahboubi and Nathalie Revol for helping me to find my way in the complex domain of real computation and Giuseppe Longo and Thierry Paul for many stimulating discussions.

## Footnotes

One contribution of 18 to a Theme Issue ‘The foundations of computation, physics and mentality: the Turing legacy’.

- This journal is © 2012 The Royal Society