In [5] Scott asked if there was a proof theoretic proof of his interpolation theorem. The purpose of this paper is to provide such a proof, working with the first order system LK of Gentzen [2]. Our method is an extension of the one in Maehara [3] for Craig's interpolation theorem. We will also sketch the original model theoretic proof and show how Scott used his result to obtain a definability theorem of Svenonius [7].

A language for LK contains the usual logical symbols: , ∧, ∨, ⊃, ∀, ∃; countably many free variables a0, a1, … and bound variables x0, x1, …; and some or all of the following nonlogical symbols: n-ary predicates ; n-ary functions ; and individual constants c0, c1, …. Semiterms are defined as follows: (1) Free variables, bound variables and individual constants are semiterms. (2) If f is an n-ary function and s1 …, sn are semiterms, then f(s1 …, sn), is a semiterm. A term is a semiterm that does not contain a bound variable. Formulas are defined as follows: (1) If R is an n-ary predicate and t1 …, tn are terms, then R(t1 …, tn) is a formula. (2) If A and B are formulas, then A, A ∧ B, A ∨ B and A ⊃ B are formulas. (3) If A(t) is a formula which has zero or more occurrences of the term t, and if x is a bound variable not contained in A(t), then ∀xA(x) and ∃xA(x) are formulas where A(x) is obtained from A(t) by substituting x for t at all indicated places.