Hubbry Logo
search
logo

Craig's theorem

logo
Community Hub0 Subscribers

Craig's theorem

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Craig's theorem

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.

Let be an enumeration of the axioms of a recursively enumerable set of first-order formulas. Construct another set consisting of

for each positive integer . That is,

The deductive closures of and are thus equivalent; the proof will show that is a recursive/decidable set.

Given any formula , let its length be . Then to decide , it suffices to first run the enumeration algorithm until all are ouputted, then check if is equal to one of

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 are ouputted", the enumeration algorithm may take a very long time to output all .

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.

See all
User Avatar
No comments yet.