Craig's theorem
In-game article clicks load inline without leaving the challenge.
In mathematical logic, Craig's theorem (also known as Craig's trick) states that any recursively enumerable set of well-formed formulas of a first-order language is recursively axiomatizable, and even primitively recursively axiomatizable, and even decidable in polynomial time.
This result is not related to the well-known Craig interpolation theorem, although both results are named after the same logician, William Craig.
Recursive axiomatization
Let A 1 , A 2 , … {\displaystyle A_{1},A_{2},\dots } be an enumeration of the axioms of a recursively enumerable set T {\displaystyle T} of first-order formulas. Construct another set T ∗ {\displaystyle T^{*}} consisting of
A i ∧ ⋯ ∧ A i ⏟ i {\displaystyle \underbrace {A_{i}\land \dots \land A_{i}} _{i}}
for each positive integer i {\displaystyle i}. That is,
T ∗ = { A 1 , A 2 ∧ A 2 , A 3 ∧ A 3 ∧ A 3 , … } {\displaystyle T^{*}=\{A_{1},A_{2}\land A_{2},A_{3}\land A_{3}\land A_{3},\ldots \}}
The deductive closures of T ∗ {\displaystyle T^{*}} and T {\displaystyle T} are thus equivalent; the proof will show that T ∗ {\displaystyle T^{*}} is a recursive/decidable set.
Given any formula X {\displaystyle X}, let its length be | X | {\displaystyle |X|}. Then to decide X ∈ T ∗ {\displaystyle X\in T^{*}}, it suffices to first run the enumeration algorithm until all A 1 , A 2 , … , A | X | {\displaystyle A_{1},A_{2},\dots ,A_{|X|}} are ouputted, then check if X {\displaystyle X} is equal to one of A 1 , A 2 ∧ A 2 , … , A | X | ∧ ⋯ ∧ A | X | ⏟ | X | . {\displaystyle A_{1},A_{2}\land A_{2},\dots ,\underbrace {A_{|X|}\land \dots \land A_{|X|}} _{|X|}.}
Primitive recursive axiomatization
A set of axioms is primitive recursive if there is a primitive recursive function that decides membership in the set. The algorithm given above is recursive, but not necessarily primitive recursive. The main issue is that, at the part where we "run the enumeration algorithm until all A 1 , A 2 , … , A | X | {\displaystyle A_{1},A_{2},\dots ,A_{|X|}} are ouputted", the enumeration algorithm may take a very long time to output all A 1 , A 2 , … , A | X | {\displaystyle A_{1},A_{2},\dots ,A_{|X|}}.
For primitive recursion, all loops must be bounded by a pre-computed upper bound. Consequently, we are not allowed to say "run the enumeration algorithm until...". However, we can say "run the enumeration algorithm for up to k steps", provided that we know what k should be.
Now, instead of replacing a formula A i {\displaystyle A_{i}} with
A i ∧ ⋯ ∧ A i ⏟ i {\displaystyle \underbrace {A_{i}\land \dots \land A_{i}} _{i}}
one replaces it with
A i ∧ ⋯ ∧ A i ⏟ f ( i ) {\displaystyle \underbrace {A_{i}\land \dots \land A_{i}} _{f(i)}} (*)
where f {\displaystyle f} is a function that, given i {\displaystyle i}, returns the number of steps the enumeration Turing machine takes in order to output A i {\displaystyle A_{i}}. In fact, this construction gives a decision algorithm that runs in polynomial time, which is a particularly well-behaved class of primitively recursive functions.
Applications
The theorem has been used in proofs of Gödel's incompleteness theorems. One would first prove the theorems for all theories that with a set of axioms that is primitive recursive, then apply Craig's theorem to immediately conclude that the theorems hold for all theories with a set of axioms that is recursively enumerable.
Philosophical implications
If T {\displaystyle T} is a recursively axiomatizable theory and we divide its predicate symbols into two disjoint sets V A {\displaystyle V_{A}} and V B {\displaystyle V_{B}}, then those theorems of T {\displaystyle T} that are in the vocabulary V A {\displaystyle V_{A}} are recursively enumerable, and hence, based on Craig's theorem, axiomatizable. Carl G. Hempel argued based on this that since all science's predictions are in the vocabulary of observation terms, the theoretical vocabulary of science is in principle eliminable. He himself raised two objections to this argument: 1) the new axioms of science are practically unmanageable, and 2) science uses inductive reasoning and eliminating theoretical terms may alter the inductive relations between observational sentences. Hilary Putnam argues that this argument is based on a misconception that the sole aim of science is successful prediction. He proposes that the main reason we need theoretical terms is that we wish to talk about theoretical entities (such as viruses, radio stars, and elementary particles).
- Hempel, C. G. (1963). "Implications of Carnap's Work for the Philosophy of Science". In Schilpp, P. A. (ed.). The Philosophy of Rudolf Carnap. La Salle, Illinois: Open Court. pp.685–709.
- Craig, William (1953). "On Axiomatizability Within a System". The Journal of Symbolic Logic. 18 (1): 30–32. doi:.
- Putnam, Hilary (1965). "Craig's Theorem". The Journal of Philosophy. 62 (10): 251–260. doi:.