Abstract
When working with a first-order theory, it is often convenient to use definitions. That is, if ϕ(x) is a first-order formula with the free variables shown, one can introduce a new relation symbol R to abbreviate ϕ, with defining axiom ∀x (R(x) ↔ ϕ(x)). Of course, this definition can later be eliminated from a proof, simply by replacing every instance of R by ϕ. But suppose the proof involves nested definitions, with a sequence of relation symbols R0, . . . , Rk abbreviating formulae ϕ0, . . . , ϕk, where each ϕi may have multiple occurrences of R0, . . . , Ri−1. In that case, the naive elimination procedure described above can yield an exponential increase in the length of the proof. In Section 2, I show that if the underlying theory proves that there are at least two elements in the universe, a more careful translation allows one to eliminate the new definitions with at most a polynomial increase in length. In fact, I will describe an explicit algorithm that can be implemented in polynomial time. The proof is not difficult, but it relies on the assumption that equality is included in the logic. A similar trick has been used by Solovay in simulating iterated definitions efficiently, as discussed in Section 3.2 of [Pudl´ak 1998]. Consequently, the result proved here may be folklore, but to my knowledge it has not appeared in the literature, and it is needed in Section 3. It is also sometimes convenient, in a first-order setting, to introduce Skolem func-.