# Craig's theorem

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Craig's_theorem
> Markdown URL: https://mediated.wiki/source/Craig's_theorem.md
> Source: https://en.wikipedia.org/wiki/Craig's_theorem
> Source revision: 1349763937
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

In [mathematical logic](/source/Mathematical_logic), **Craig's theorem** (also known as **Craig's trick**) states that any [recursively enumerable set](/source/Recursively_enumerable_set) of [well-formed formulas](/source/Well-formed_formula) of a [first-order language](/source/First-order_language) is recursively [axiomatizable](/source/Axiomatization), and even primitively recursively axiomatizable, and even decidable in [polynomial time](/source/Time_complexity).

This result is not related to the well-known [Craig interpolation](/source/Craig_interpolation) theorem, although both results are named after the same logician, [William Craig](/source/William_Craig_(philosopher)).

## 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](/source/Deductive_closure) 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](/source/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](/source/Loop_(statement)) 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](/source/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](/source/G%C3%B6del'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.[1]

## Philosophical implications

If T {\displaystyle T} is a recursively axiomatizable theory and we divide its predicate symbols into two [disjoint sets](/source/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](/source/Carl_Gustav_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](/source/Inductive_reasoning) and eliminating theoretical terms may alter the inductive relations between observational sentences. [Hilary Putnam](/source/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).

## References

1. **[^](#cite_ref-SmithDef_1-0)** Smith, Peter (2013). "26. Broadening the scope". [*An introduction to Gödel's theorems*](https://www.logicmatters.net/resources/pdfs/godelbook/GodelBookLM.pdf) (PDF) (2 ed.). England: Logic Matters. [ISBN](/source/ISBN_(identifier)) [979-8-6738-6213-1](https://en.wikipedia.org/wiki/Special:BookSources/979-8-6738-6213-1).

- 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](/source/Doi_(identifier)):[10.2307/2266324](https://doi.org/10.2307%2F2266324).

- Putnam, Hilary (1965). "Craig's Theorem". *The Journal of Philosophy*. **62** (10): 251–260. [doi](/source/Doi_(identifier)):[10.2307/2023298](https://doi.org/10.2307%2F2023298).

---
Adapted from the Wikipedia article [Craig's theorem](https://en.wikipedia.org/wiki/Craig's_theorem) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Craig's_theorem?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
