The uncomputable parts of thinking (if there are any) can be studied in much the same spirit that Turing (1950) suggested for the study of its computable parts. We can develop precise accounts of cognitive processes that, although they involve more than computing, can still be modelled on the machines we call 'computers'. In this paper, I want to suggest… (More)
Induction is the process by which we reason from the particular to the general; In this paper we use ideas from the theory of abstract machines and recursion theory to study this process. We focus on pure induction in which the conclusions "go beyond the information given" in the premises from which they are derived and on simple induction, which is rather… (More)
According to the conventional wisdom, Turing (1950) said that computing machines can be intelligent. I don't believe it. I think that what Turing really said was that computing machines – computers limited to computing – can only fake intelligence. If we want computers to become genuinely intelligent, we will have to give them enough " initiative " (Turing,… (More)
In 1950, Turing suggested that intelligent behavior might require " a departure from the completely disciplined behavior involved in computation " , but nothing that a digital computer could not do. In this paper, I want to explore Turing's suggestion by asking what it is, beyond computation , that intelligence might require, why it might require it and… (More)
About a year ago, I wrote an article that appeared in <i>SIGART</i> Newsletter  In that article, I asked "How well can computers generate programs from examples of what those programs are supposed to do?" My answer was that they cannot do very well If by "computers" we mean devices that only do total computations. I attempted to show that, under what… (More)
Systems that don't announce when they've reached their final results can `compute' the uncomputable, possibly allowing them to understand their users and generate their own programs from examples.
An automatic programming system is a system (usually a programmed computer) that generates a program from partial information about that program (Figure 1). Looked at in this general way, automatic programming systems are hardly new. Assemblers are automatic programming systems. So are compilers, debugging systems, and even loaders. In this paper, I propose… (More)