Scott–Curry theorem
   HOME

TheInfoList



OR:

In mathematical logic, the Scott–Curry theorem is a result in
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
stating that if two non-empty sets of lambda terms ''A'' and ''B'' are closed under beta-convertibility then they are
recursively inseparable In computability theory, two disjoint sets of natural numbers are called computably inseparable or recursively inseparable if they cannot be "separated" with a computable set.Monk 1976, p. 100 These sets arise in the study of computability th ...
.


Explanation

A set ''A'' of lambda terms is closed under beta-convertibility if for any lambda terms X and Y, if X \in A and X is β-equivalent to Y then Y \in A. Two sets ''A'' and ''B'' of natural numbers are recursively separable if there exists a computable function f : \mathbb \rightarrow \ such that f(a) = 0 if a \in A and f(b) = 1 if b \in B. Two sets of lambda terms are recursively separable if their corresponding sets under a
Gödel numbering In mathematical logic, a Gödel numbering is a function that assigns to each symbol and well-formed formula of some formal language a unique natural number, called its Gödel number. The concept was developed by Kurt Gödel for the proof of his ...
are recursively separable, and recursively inseparable otherwise. The Scott–Curry theorem applies equally to sets of terms in
combinatory logic Combinatory logic is a notation to eliminate the need for quantified variables in mathematical logic. It was introduced by Moses Schönfinkel and Haskell Curry, and has more recently been used in computer science as a theoretical model of comput ...
with weak equality. It has parallels to Rice's theorem in computability theorem, which states that all non-trivial semantic properties of programs are undecidable. The theorem has the immediate consequence that it is an undecidable problem to determine if two lambda terms are β-equivalent.


Proof

The proof is adapted from Barendregt in ''The Lambda Calculus''. Let ''A'' and ''B'' be closed under beta-convertibility and let ''a'' and ''b'' be lambda term representations of elements from ''A'' and ''B'' respectively. Suppose for a contradiction that ''f'' is a lambda term representing a computable function such that fx = 0 if x \in A and fx = 1 if x \in B (where equality is β-equality). Then define G \equiv \lambda x.\text\ (\text \ (fx)) a b. Here, \text is true if its argument is zero and false otherwise, and \text is the identity so that \text\ b x y is equal to ''x'' if ''b'' is true and ''y'' if ''b'' is false. Then x \in C \implies Gx = a and similarly, x \notin C \implies Gx = b. By the Second Recursion Theorem, there is a term ''X'' which is equal to ''f'' applied to the Church numeral of its Gödel numbering, ''X''. Then X \in C implies that X = G(X') = b so in fact X \notin C. The reverse assumption X \notin C gives X = G(X') = a so X \in C. Either way we arise at a contradiction, and so ''f'' cannot be a function which separates ''A'' and ''B''. Hence ''A'' and ''B'' are recursively inseparable.


History

Dana Scott first proved the theorem in 1963. The theorem, in a slightly less general form, was independently proven by Haskell Curry. It was published in Curry's 1969 paper "The undecidability of λK-conversion".


References

{{reflist Lambda calculus Undecidable problems