TY - GEN

T1 - Generalizations of Rice's theorem, applicable to executable and non-executable formalisms

AU - Huizing, C.

AU - Kuiper, R.

AU - Verhoeff, T.

PY - 2012

Y1 - 2012

N2 - We formulate and prove two Rice-like theorems that characterize limitations on nameability of properties within a given naming scheme for partial functions. Such a naming scheme can, but need not be, an executable formalism. A programming language is an example of an executable naming scheme, where the program text names the partial function it implements. Halting is an example of a property that is not nameable in that naming scheme.
The proofs reveal requirements on the naming scheme to make the characterization work. Universal programming languages satisfy these requirements, but also other formalisms can satisfy them. We present some non-universal programming languages and a non-executable specification language satisfying these requirements. Our theorems have Turing's well-known Halting Theorem and Rice's Theorem as special cases, by applying them to a universal programming language or Turing Machines as naming scheme. Thus, our proofs separate the nature of the naming scheme (which can, but need not, coincide with computability) from the diagonal argument. This sheds further light on how far reaching and simple the `diagonal' argument is in itself.

AB - We formulate and prove two Rice-like theorems that characterize limitations on nameability of properties within a given naming scheme for partial functions. Such a naming scheme can, but need not be, an executable formalism. A programming language is an example of an executable naming scheme, where the program text names the partial function it implements. Halting is an example of a property that is not nameable in that naming scheme.
The proofs reveal requirements on the naming scheme to make the characterization work. Universal programming languages satisfy these requirements, but also other formalisms can satisfy them. We present some non-universal programming languages and a non-executable specification language satisfying these requirements. Our theorems have Turing's well-known Halting Theorem and Rice's Theorem as special cases, by applying them to a universal programming language or Turing Machines as naming scheme. Thus, our proofs separate the nature of the naming scheme (which can, but need not, coincide with computability) from the diagonal argument. This sheds further light on how far reaching and simple the `diagonal' argument is in itself.

M3 - Conference contribution

T3 - EPiC Series

SP - 168

EP - 180

BT - Turing-100

A2 - Voronkov, A.

PB - EasyChair

T2 - conference; Turing-100. The Alan Turing Centenary

Y2 - 1 January 2012

ER -