Trakhtenbrot's theorem

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In logic, finite model theory, and computability theory, Trakhtenbrot's theorem (due to Boris Trakhtenbrot) states that the problem of validity in first-order logic on the class of all finite models is undecidable. In fact, the class of valid sentences over finite models is not recursively enumerable (though it is co-recursively enumerable).

Trakhtenbrot's theorem implies that Gödel's completeness theorem (that is fundamental to first-order logic) does not hold in the finite case. Also it seems counter-intuitive that being valid over all structures is 'easier' than over just the finite ones.

The theorem was first published in 1950: "The Impossibility of an Algorithm for the Decidability Problem on Finite Classes".[1]

Mathematical formulation[edit]

We follow the formulations as in [2]


Finite satisfiability is not decidable in first-order logic.
That is, the set { φ | φ is a sentence of first-order logic satisfiable in the finite } is undecidable.


Let σ be a relational vocabulary with one at least binary relation symbol.

The set of σ-sentences valid in all finite structures is not recursively enumerable.


  1. This implies that Gödel's completeness theorem fails in the finite since completeness implies recursive enumerability.
  2. It follows that there is no recursive function f such that: if φ has a finite model, then it has a model of size at most f(φ). In other words, there is no effective analogue to the Löwenheim-Skolem theorem in the finite.

Intuitive proof[edit]

This proof taken from Chapter 10, section 4, 5 of Mathematical Logic by H.-D. Ebbinghaus.

As in the most common proof of Gödel's First Incompleteness Theorem through using the undecidability of the Halting Problem, for each Turing machine there is a corresponding arithmetical sentence , effectively derivable from , such that it is true if and only if halts on the empty tape. Intuitively, asserts "there exists a natural number that is the Gödel code for the computation record of on the empty tape that ends with halting".

If the machine does halt in finite steps, then the complete computation record is also finite, then there is a finite initial segment of the natural numbers such that the arithmetical sentence is also true on this initial segment. Intuitively, this is because in this case, proving requires the arithmetic properties of only finitely many numbers.

If the machine does not halt in finite steps, then is false in any finite model, since there's no finite computation record of that ends with halting.

Thus, if halts, is true in some finite models. If does not halt, is false in all finite models. So, does not halt if and only if is true over all finite models.

The set of machines that does not halt is not recursively enumerable, so the set of valid sentences over finite models is not recursively enumerable.

Alternative proof[edit]

In this section we exhibit a more rigorous proof from Libkin.[3] Note in the above statement that the corollary also entails the theorem, and this is the direction we prove here.


For every relational vocabulary τ with at least one binary relation symbol, it is undecidable whether a sentence φ of vocabulary τ is finitely satisfiable.


According to the previous lemma, we can in fact use finitely many binary relation symbols. The idea of the proof is similar to the proof of Fagin's theorem, and we encode Turing machines in first-order logic. What we want to prove is that for every Turing machine M we construct a sentence φM of vocabulary τ such that φM is finitely satisfiable if and only if M halts on the empty input, which is equivalent to the halting problem and therefore undecidable.

Let M= ⟨Q, Σ, δ, q0, Qa, Qr⟩ be a deterministic Turing machine with a single infinite tape.

  • Q is the set of states,
  • Σ is the input alphabet,
  • Δ is the tape alphabet,
  • δ is the transition function,
  • q0 is the initial state,
  • Qa and Qr are the sets of accepting and rejecting states.

Since we are dealing with the problem of halting on an empty input we may assume w.l.o.g. that Δ={0,1} and that 0 represents a blank, while 1 represents some tape symbol. We define τ so that we can represent computations:

τ := {<, min, T0 (⋅,⋅), T1 (⋅,⋅), (Hq(⋅,⋅))(q ∈ Q)}


  • < is a linear order and min is a constant symbol for the minimal element with respect to < (our finite domain will be associated with an initial segment of the natural numbers).
  • T0 and T1 are tape predicates. Ti(s,t) indicates that position s at time t contains i, where i ∈ {0,1}.
  • Hq's are head predicates. Hq(s,t) indicates that at time t the machine is in state q, and its head is in position s.

The sentence φM states that (i) <, min, Ti's and Hq's are interpreted as above and (ii) that the machine eventually halts. The halting condition is equivalent to saying that Hq∗(s, t) holds for some s, t and q∗ ∈ Qa ∪ Qr and after that state, the configuration of the machine does not change. Configurations of a halting machine (the nonhalting is not finite) can be represented as a τ (finite) sentence (more precisely, a finite τ-structure which satisfies the sentence). The sentence φM is: φ ≡ α ∧ β ∧ γ ∧ η ∧ ζ ∧ θ.

We break it down by components:

  • α states that < is a linear order and that min is its minimal element
  • γ defines the initial configuration of M: it is in state q0, the head is in the first position and the tape contains only zeros: γ ≡ Hq0(min,min) ∧ ∀s T0 (s, min)
  • η states that in every configuration of M, each tape cell contains exactly one element of Δ: ∀s∀t(T0(s, t) → ¬ T1(s, t))
  • β imposes a basic consistency condition on the predicates Hq's: at any time the machine is in exactly one state:
  • ζ states that at some point M is in a halting state:
  • θ consists of a conjunction of sentences stating that Ti's and Hq's are well behaved with respect to the transitions of M. As an example, let δ(q,0)=(q',1, left) meanining that if M is in state q reading 0, then it writes 1, moves the head one position to the left and goes into the state q'. We represent this condition by the disjunction of θ0 and θ1:

Where θ2 is:


Where θ3 is:

s-1 and t+1 are first-order definable abbreviations for the predecessor and successor according to the ordering <. The sentence θ0 assures that the tape content in position s changes from 0 to 1, the state changes from q to q', the rest of the tape remains the same and that the head moves to s-1 (i. e. one position to the left), assuming s is not the first position in the tape. If it is, then all is handled by θ1: everything is the same, except the head does not move to the left but stays put.

If φM has a finite model, then such a model that represents a computation of M (that starts with the empty tape (i.e. tape containing all zeros) and ends in a halting state). If M halts on the empty input, then the set of all configurations of the halting computations of M (coded with <, Ti's and Hq's) is a model of φM, which is finite, since the set of all configurations of halting computations is finite. It follows that M halts on the empty input iff φM has a finite model. Since halting on the empty input is undecidable, so is the question of whether φM has a finite model (equivalently, whether φM is finitely satisfiable) is also undecidable (recursively enumerable, but not recursive). This concludes the proof.


The set of finitely satisfiable sentences is recursively enumerable.


Enumerate all pairs where is finite and .


For any vocabulary containing at least one binary relation symbol, the set of all finitely valid sentences is not recursively enumerable.


From the previous lemma, the set of finitely satisfiable sentences is recursively enumerable. Assume that the set of all finitely valid sentences is recursively enumerable. Since ¬φ is finitely valid iff φ is not finitely satisfiable, we conclude that the set of sentences which are not finitely satisfiable is recursively enumerable. If both a set A and its complement are recursively enumerable, then A is recursive. It follows that the set of finitely satisfiable sentences is recursive, which contradicts Trakhtenbrot's theorem.


  1. ^ Trakhtenbrot, Boris (1950). "The Impossibility of an Algorithm for the Decidability Problem on Finite Classes". Proceedings of the USSR Academy of Sciences (in Russian). 70 (4): 569–572. 
  2. ^ Ebbinghaus, Heinz-Dieter; Flum, Jörg (1995). Finite Model Theory. Springer. ISBN 978-3-540-60149-4. 
  3. ^ Libkin, Leonid (2010). Elements of Finite Model Theory. Springer. ISBN 978-3-642-05948-3. 
  • Boolos, Burgess, Jeffrey. Computability and Logic, Cambridge University Press, 2002.
  • Simpson, S. "Theorems of Church and Trakhtenbrot". 2001.[1]