Documente Academic
Documente Profesional
Documente Cultură
Thierry Coquand
6.1 Introduction
The goal of this paper is to discuss the following question: is the theory of recursive
functions needed for a rigorous development of constructive mathematics? I will try
to present the point of view of constructive mathematics on this question. The plan
is the following: I first explain the gradual loss of appreciation of constructivity after
1936, clearly observed by Heyting and Skolem, in connection with the development
of recursivity. There is an important change in 1967, publication of Bishop’s
book, and the (re)discovery that the theory of recursive functions is actually not
needed for a rigorous development of constructive mathematics. I then end with
a presentation of the current view of constructive mathematics: mathematics done
using intuitionistic logic, view which, surprisingly, does not rely on any explicit
notion of algorithm.
Let us first recall the definition of recursive function, as done in classical math-
ematics. A numerical function is recursive if it can be defined by the usual
schemas defining primitive recursive functions (projections, constant functions,
composition, primitive recursion) and the following clause: if g.u1 ; : : : ; un ; x/
is a recursive functions such that for all u1 ; : : : ; un there exists x such that
T. Coquand ()
Chalmers Tekniska Högskola och, Göteborgs Universitet, 412 96 Göteborg, Suède
e-mail: coquand@chalmers.se
6.2.1 Heyting
Heyting (1962) addresses exactly this question of the meaning of the existential
quantifier in the definition of recursive functions. “As soon as the existential
quantifier in the definition is interpreted non constructively, the notion of recursive
function is no longer connected with that of a calculable function. On the other
hand, if the quantifier is interpreted constructively, then the definition presupposes
some notion of a calculable function.” This is a serious objection to the conceptual
importance of the notion of recursive function in constructive mathematics. It shows
that, understood constructively, the clauses for recursive functions cannot be used to
define the notion of computable function, since this notion is required to understand
the meaning of a sentence of the form 8x9y R.x; y/.
Heyting (1962) also complains about the problem of not being precise in the
metalogic (intuitionistic or classical) used with this notion of recursive function.
“The good habit of distinguishing between results on recursive functions obtained
by intuitionistic logic and those which for their proof need classical logic is
1
As is well known, there are several different equivalent form of this definition, but the discussion
that follows apply for these variants as well.
2
We stress that we limit our discussion to the notion of total recursive functions, and do not consider
partial recursive functions, introduced by Kleene. Only total recursive functions are relevant for
an explanation of the notion of functions in constructive mathematics, which are total by definition
Bishop (1967) and Richman (1990).
6 Recursive Functions and Constructive Mathematics 161
abandoned in many recent papers and books. I regret this, because thereby the
connection of the theory with the notion of effective calculability is obscured.”
The problem in the use of classical logic at the metalevel with this definition of
recursive function is clearly shown by the following example. It is direct that all
functions gk .n/ D n < k for k D 0; 1; : : : and the constant function g.n/ D 1
are recursive. If we define f .n/ D 1 iff there is n consecutive 7 in the decimal
development of and f .n/ D 0 otherwise, then, classically, f is either one of these
functions gk or is the constant function g. In both cases, f is a recursive function.
Hence, classically, f is a recursive function. But this does not seem satisfactory
since, intuitively, we have no way to compute f .n/ for a general n.3
As noted by Heyting (1958), Kleene himself (1952) remarks that “we should
not claim that a function is effectively calculable on the ground that it has been
shown to be general recursive, unless the demonstration that it is general recursive
is effective”, and Heyting adds that “this means that for the latter demonstration an
intuitive notion of effectiveness is indispensable”. He also points out in a short paper
(Heyting 1957) the relevant comment of Rosza Peter that “any attempt to define
the notion of a constructive theory leads into a vicious circle, because the definition
always contains an existential quantifier, which in its turn must be interpreted
constructively”.
6.2.2 Skolem
Skolem has a similar concern about the previous definition of recursive function
(Skolem 1955). “At any rate one should not use the quantifiers without any closer
explanation of how they are to be interpreted : : : If we for instance consider an
arithmetical sentence of the form 8x:9y:R.x; y/ we may interpret it as follows:
We know for any x how to find a y such that R.x; y/. I had once some difficulty in
reading the important paper of S.C. Kleene (1936) : : : because he, as other authors,
introduces the quantifiers without comments. In his article we have for example the
theorem: Let R.x; y/ be a recursive relation and let 8x:9y:R.x; y/ be true. Then
y:R.x; y/ is a recursive function of x. Certainly one ought to know here what is
meant by the words: let 8x:9y:R.x; y/ be true.”
The concern is also in the meaning of the existence statement: for all x there
exists y such that R.x; y/. It cannot be understood in a formal way, that the
statement 8x9y: R.x; y/ is provable in a given formal system, like ZF or ZF C
or ZF extended by some large cardinal axiom, since the meaning will then depend
on the formal system. How shall we understand this statement then? “Perhaps it
is conceived in the Platonist way which means it is take for granted that every
proposition has a meaning per se, and it is decided per se, whether it is “true” or
not. I find this view unacceptable from a finitist standpoint.”
3
This problem does not appear using a constructive meta-level, since, in this case, we can only
consider f to be a function when we can decide, for each n, whether or not there is n consecutive
7 in the decimal development of .
162 T. Coquand
We shall now illustrate the “belief” that recursive function theory is a prerequisite
for having a precise notion of intuitionistically given sequence of objects in
the logical literature. This is expressed in two reviews of papers that establish
consistency proofs using an intuitionistic metalanguage. One is Church’s review
of one of a paper of P.S. Novikoff’s (1943) and the other is H. Wang’s review
of Lorenzen’s paper on the consistency of the ramified theory of types (Lorenzen
1951).
6.2.3.1 Novikoff
Similar remarks can be made about Wang’s review (1951) of Lorenzen’s proof of
consistency of ramified type theory (Lorenzen 1951). Wang fails to acknowledge
explicitely the difference between Lorenzen’s argument, which is constructive, and
another consistency proof which would be by a truth definition (non constructive):
“the reviewer finds it very hard to articulate about the difference between the
two consistency proofs of R.” As he then writes, Lorenzen “himself phrases the
difference by saying that his proof satisfies Hilbert’s requirement of consistency
proofs that only constructive modes of reasoning are available.” What is surprising
is that Wang does not state explicitely that Lorenzen’s proof is done in a constructive
metalanguage. There is an important difference with a proof of consistency via a
truth definition which is not constructively valid (since the truth of an universally
quantified statement is in general not decidable). This difference is furthermore
pointed out by Lorenzen, but Wang finds this distinction between a constructive
argument and a non constructive one “hard to articulate”.
The situation in 1967 (before the publication of Bishop’s book (1967)) seems to
be the following. The complaints of Heyting and Skolem about the lack of concern
for constructive issues, are forgotten. Recursive function theory is usually presented
without any consideration if the results are obtained using intuitionistic logic or
not (see for instance Shoenfield 1967). Even when presented intuitionistically,
the theory of recursive functions is furthermore considered to be a necessary
prerequisite for developing constructive mathematics. Heyting, in the 1962 paper
(Heyting 1962), which is a reflection on 30 years of work in the foundation of
mathematics states that “constructivity is much less appreciated now than it was
30 years ago. Yet effectiveness is a primitive notion, for a proof is only a proof if it
is effectively given”.
164 T. Coquand
6.3.1 Bishop
4
As noticed in Heyting’s paper (1961), and as is also stressed in Kreisel’s review of this paper, such
infinitary notions are naturally and elegantly expressed using generalised inductive definitions in
an intuitionistic metatheory.
6 Recursive Functions and Constructive Mathematics 165
admits a usage no less precise and clear than the undefined concept of an integer.
This remarkable fact can only be obscured by bringing in recursive functions at this
level.”
These insights of Bishop, that Turing machines and recursive functions are not
relevant to explain the notion of function in constructive mathematics, are now
taken into account in current work in constructive mathematics (Lombardi, Bridges,
Richman, : : :). For instance, Richman writes that “equivalence of Turing machines,
recursive functions, and Markov algorithms presumably settled once and for all the
precise definition of “computable.” Bishop claimed, to the contrary, that if you had
a constructive proof that a Turing machine halted and produced the desired result,
then you didn’t need the Turing machine in the first place; and in the absence of such
a proof, the Turing machine didn’t establish computability.” This is reminiscent of
the concerns that were made previously by Heyting and Skolem.
An interesting further conceptual discovery in current constructive mathematics
has been the gradual realisation that the best description of constructive mathematics
is mathematics developed using intuitionistic logic (Richman 1990; Bridges 1999).
What is remarkable in this characterisation is that it is independent of any notion of
algorithms. Another connected remarkable fact, discovered by and Heyting (1930),
is that intuitionnistic logic can be captured by a formal system of deduction rules.
6.3.3 Example
matrix P such that the projection matrix PFP 1 is in canonical form. The
constructive proof is both the program and its correctness proof. Notice also that this
“subprogram” providing an inverse of x or of 1 x does not need to be computable:
it can be an “oracle” which produces the required inverse in a non computable way.
Also, the ring operation are implicitly “computable” (since they are constructive
functions), but the ring equality is not assumed to be decidable.
For the proof of this statement to be constructive (see for instance Coquand and
Lombardi 2006), we do not need to mention explicitely the notion of “programs” or
“algorithms”. All we require is that this argument is intuitionistically valid, i.e. does
not rely on the law of Excluded-Middle.
6.4 Conclusion
Acknowledgements I would like to thank Göran Sundholm for interesting discussions on the
topic of this paper and for sending me the references (Heyting 1957).
References