Lectures onType Theory
Chapter 3
Chapter 3Core route

First-Order Proof Theory and Sequent Calculi

The propositional proof terms of chapter 2 bind assumptions, but they do not bind individuals. In the expression x(P(x)Q(x)), the prefix x is a quantifier: it binds x and says “for every individual x.” The unary predicate symbols P,Q in this example name properties of individuals. The expression therefore presents two new questions. Which individual may replace x, and which names are allowed to escape from a proof? A second obstruction appears when two proofs are composed. The first proof concludes a formula that the second proof consumes as an assumption; call this the intermediate formula. It may be much more complicated than the final conclusion. If backward search used only formulas occurring inside the final assumptions and conclusion, those finitely many formulas and their outermost connectives would give a finite list of rule applications to try. An arbitrary intermediate formula destroys that list. The chapter removes such formulas while controlling the names introduced by quantifier rules.

Terms, formulas, and substitution

Replacing an individual variable by a term can move a free name beneath a quantifier. To state which replacement avoids capture, the syntax must first separate individual variables from proof assumptions and record each binder. Fix an effective list of individual variables v0,v1,v2,, ordered by their natural-number indices; also write them as x,y,z,a,b,. The least variable outside any given finite set can then be found by scanning this list. Fix a first-order signature Σ, a collection consisting of function symbols f and predicate symbols P, each with a fixed finite arity. Constants are precisely the nullary function symbols.

Definition 3.1 — First-order syntax

Terms and formulas are the two syntactic classes generated by t::=xf(t1,,tn),A::=P(t1,,tn)AAAAAAxAxA. A term or formula is an abstract binding tree: a syntax tree whose binding structure is identified up to renaming of bound variables. Thus xP(x) and yP(y) are the same abstract binding tree: only the bound name changes. In xA and xA, the quantifier binds free occurrences of x in A; trees differing only in the choice of those bound names are identified, as in convention 2.3. The operations A[t/x] and s[t/x] are capture-avoiding substitution. Negation is an abbreviation, ¬A:=A, rather than a further formula constructor. Write |A| for the number of logical connectives and quantifiers in A; atomic formulas and have rank zero. Call this number the rank of A. A context Γ is a finite multiset of formulas, not the list of named assumptions of chapter 2: order does not matter, but repeated copies do. Thus exchanging two assumptions changes nothing, whereas contracting two copies into one changes the multiset.

Convention 3.2 — Object language and metalanguage

Terms and formulas generated by definition 3.1 belong to the object language: they are the expressions whose proofs are studied. Claims that a formula is derivable, the inference rules that justify such claims, and side conditions such as freshness belong to the metalanguage: they are statements made about object-language expressions. Thus AB is an object-language formula, whereas a rule display with premises above a line and a conclusion below it is a metalanguage definition of permitted derivations.

Write fv(E) for the free individual variables of a term or formula. Recursively, fv(x)={x},fv(f(t¯))=ifv(ti),fv(P(t¯))=ifv(ti),fv()=,fv(AB)=fv(A)fv(B)({,,}),fv(QxA)=fv(A){x}(Q{,}). For a context, fv(Γ) is the union over its formulas. For any finite tuple of terms, formulas, and contexts, use the union convention fv(E1,,Ek):=1ikfv(Ei).

For example, (yR(x,y))[f(z)/x]=yR(f(z),y), whereas substituting y for x first freshens the binder: (yR(x,y))[y/x]=αaR(y,a),a{x,y}. The freshening is not cosmetic. The unrenamed expression yR(y,y) would capture the free argument.

The substitution-composition equation below records how two substitutions exchange order while updating the term inserted by the first substitution.

Lemma 3.3 — First-order substitution laws

For terms and formulas, capture-avoiding substitution preserves formation and satisfies the following equations whenever the displayed freshness conditions hold: E[t/x][u/y]=E[u/y][t[u/y]/x](xy, xfv(u)), and E[t/x]=E when xfv(E). Moreover, term substitution does not change formula rank: |A[t/x]|=|A|.

For example, take E=R(x,y), t=f(y), and u=c. The two sides of the composition equation calculate to the same formula: R(x,y)[f(y)/x][c/y]R(f(y),y)[c/y]=R(f(c),c)=R(x,y)[c/y][f(c)/x]R(x,c)[f(c)/x]. The replacement t[u/y]=f(c) on the right preserves the occurrence of y already present inside t. The condition xy keeps the two substitution targets distinct. The condition xfv(u) ensures that the final substitution for x does not alter a copy of u inserted earlier on the right.

Proof of Lemma 3.3 — First-order substitution laws

Proof. Here formation means that substituting a term for a variable in a term or formula produces another term or formula of the same syntactic category. Prove this claim and both equations simultaneously by structural induction on E. Function and predicate applications apply the induction hypothesis to each argument. For the absent-source equation at E=zB, first consider z=x. Then (xB)[t/x]=xB by the binding clause. If zx, alpha-freshen it away from fv(t){x}; the induction hypothesis for B proves the equation under the reattached quantifier. For composition, alpha-freshen z away from fv(t)fv(u){x,y}. Both sides are z(B[t/x][u/y])andz(B[u/y][t[u/y]/x]), which are equal by the induction hypothesis for B. The existential case is identical; each propositional connective recurses in both arguments. The rank equation holds in the same induction: replacing individual variables inside terms changes no logical connective or quantifier node. ◻

Exercise 3.1

★☆☆ Compute (y(R(x,y)P(y)))[y/x] with a fresh binder a. Then show the free-variable set of your result and identify the variable that the naive textual replacement would capture.

Natural deduction and eigenvariables

Write ΓNA for natural-deduction derivability; the subscript N names this proof system. It is intuitionistic: unlike classical logic, it has no rule that concludes A from ¬¬A for arbitrary A. This is the first-order extension of the propositional system fixed in definition 2.38. The propositional rules are the familiar rules from chapter 2; the complete display fixes the exact rule set of this calculus. We omit because its nullary introduction has no elimination case and does not occur among the intermediate formulas eliminated by the cut proof.

Definition 3.4 — First-order natural deduction

The judgment ΓNA is generated by

AΓ
ΓNA
Hyp
ΓN
ΓNA
E
ΓNAΓNB
ΓNAB
I
ΓNA1A2
ΓNAi
E_i

Propositional rules, continued.

ΓNA
ΓNAB
I_1
ΓNB
ΓNAB
I_2
ΓNABΓ,ANCΓ,BNC
ΓNC
E
Γ,ANB
ΓNAB
→ I
ΓNABΓNA
ΓNB
→ E

Quantifier rules. In the following display, a line without a derivability sign, such as afv(Γ,xA), is a side condition to check, not another derivability premise.

ΓNA[a/x]afv(Γ,xA)
ΓNxA
I
ΓNxA
ΓNA[t/x]
E
ΓNA[t/x]
ΓNxA
I
ΓNxAΓ,A[a/x]NCafv(Γ,C,xA)
ΓNC
E

The metavariable a in the two side conditions is an eigenvariable: it represents an arbitrary individual and is not a witness chosen from the assumptions. Including the conclusion formula in the side condition prevents the eigenvariable from also occurring there as an unrelated free parameter. In a two-premise elimination rule, the derivation of the connective-bearing formula is the major premise; a derivation under a temporary branch assumption is a minor premise.

Let Γ={x(P(x)Q(x)), xP(x)}. Read the right branch below from its leaves: temporarily assume P(a) for a fresh a, derive xQ(x), and then use E to discharge that temporary assumption. A complete derivation of ΓNxQ(x) is xP(x)ΓΓNxP(x)Hypx(P(x)Q(x))Γ,P(a)Γ,P(a)Nx(P(x)Q(x))HypΓ,P(a)NP(a)Q(a)EP(a)Γ,P(a)Γ,P(a)NP(a)HypΓ,P(a)NQ(a)EΓ,P(a)NxQ(x)IΓNxQ(x)E with afv(Γ,xQ(x),xP(x)). Here E has two derivation premises; its freshness check is printed beside them in definition 3.4. The witness introduced on the left is used locally and disappears from the conclusion.

Definition 3.5 — First-order interpretations

An interpretation M consists of a nonempty set D, an element cMD for each constant c, a function fM:DnD for each positive-arity function symbol f, and a subset PMDn for each n-ary predicate symbol P. An assignment ρ sends individual variables to elements of D. Write ρ[xd] for the assignment that sends x to d and agrees with ρ on every other variable. Term denotation is defined recursively by [[x]]ρ=ρ(x),[[c]]ρ=cM,[[f(t1,,tn)]]ρ=fM([[t1]]ρ,,[[tn]]ρ). Write M,ρA when A is true. Its complete recursive definition is M,ρP(t1,,tn)([[t1]]ρ,,[[tn]]ρ)PM,M,ρ⊧̸,M,ρABM,ρA and M,ρB,M,ρABM,ρA or M,ρB,M,ρABM,ρ⊧̸A or M,ρB,M,ρxAM,ρ[xd]A for every dD,M,ρxAM,ρ[xd]A for some dD. A judgment is valid when, in every interpretation and assignment, truth of all its assumptions implies truth of its conclusion.

For a concrete calculation, take D={0,1}, interpret a constant c by 0, set PM={1} and QM={0}, and choose ρ(a)=0. Then [[a]]ρ=0, so P(a) is false, while [[c]]ρ=0, so Q(c) is true. Consequently P(a)Q(c) is true. The update ρ[x1] makes P(x) true, so xP(x) is true; the update ρ[x0] makes it false, so xP(x) is false.

Lemma 3.6 — Assignment agreement and semantic substitution

Fix an interpretation. If assignments ρ and σ agree on the free variables of a term t, then [[t]]ρ=[[t]]σ. If they agree on the free variables of a formula A, then M,ρAM,σA. Moreover, let ρu=ρ[x[[u]]ρ] be the assignment obtained by giving x the denotation of u under ρ. Then [[t[u/x]]]ρ=[[t]]ρu,M,ρA[u/x]M,ρuA.

Proof of Lemma 3.6 — Assignment agreement and semantic substitution

Proof. Prove all four assertions simultaneously by structural induction on terms and formulas. Variables use agreement directly, constants have fixed denotations, and a function application uses the term hypotheses for all arguments. The atomic case applies the term assertions to its arguments, and each propositional connective applies the formula hypotheses to its immediate subformulas. For yB and yB, alpha-freshen y away from x and fv(u). The induction hypothesis for B then applies to each update at y. Updates at the distinct variables x and y commute, which gives the substitution equations under the reattached quantifier. ◻

Lemma 3.7 — Semantic soundness of natural deduction

Every derivable natural-deduction judgment is valid in the sense of definition 3.5.

Proof of Lemma 3.7 — Semantic soundness of natural deduction

Proof. Fix an interpretation M and induct on the natural-deduction derivation. Hypothesis and the propositional rules follow directly from the truth clauses in definition 3.5. In the quantifier cases, use assignment agreement and semantic substitution from lemma 3.6.

For I, the semantic goal is to start from truth of Γ under ρ and prove A under every update ρ[xd]. Its premise derives ΓNA[a/x], with afv(Γ,xA). Suppose Γ is true under ρ, and fix dD. Put ρ=ρ[ad]. Assignment agreement keeps every assumption true under ρ. The induction hypothesis makes A[a/x] true under ρ. Semantic substitution makes A true under ρ[xd]. If a=x, this is exactly ρ[xd]. Otherwise it agrees with ρ[xd] on the free variables of A because afv(xA). Another application of assignment agreement therefore makes A true under ρ[xd]. Since d was arbitrary, xA is true under ρ.

For E, the induction hypothesis makes xA true under ρ. Hence A is true under ρ[x[[t]]ρ]. Semantic substitution makes A[t/x] true under ρ, as required. For I, the premise induction hypothesis makes A[t/x] true under ρ. The same equation makes A true under ρ[x[[t]]ρ], so that denotation is a witness for xA.

For E, suppose its major premise proves ΓNxA, its minor premise proves Γ,A[a/x]NC, and afv(Γ,C,xA). If Γ is true under ρ, the major induction hypothesis gives dD such that A is true under ρ[xd]. Put ρ=ρ[ad]. The substitution equation makes A[a/x] true under ρ, while assignment agreement keeps Γ true there. The minor induction hypothesis makes C true under ρ; assignment agreement and freshness of a for C make C true under ρ. These are exactly the two cases using eigenvariable freshness. The four quantifier cases, together with the propositional truth clauses, exhaust the rule induction. ◻

Proposition 3.8 — Why the whole eigenvariable condition is necessary

If I allowed afv(Γ), then P(a)NxP(x) would be derivable, although the premise says nothing about individuals other than a. If it required freshness only for Γ, a free occurrence of a already in the target formula could likewise be mistaken for the arbitrary individual being generalized.

Proof of Proposition 3.8 — Why the whole eigenvariable condition is necessary

Proof. Hypothesis gives P(a)NP(a). The unsound rule would generalize this derivation to P(a)NxP(x). In a two-element interpretation with elements d0,d1, let the assignment send a to d0, and interpret P by {d0}. The premise is true and the conclusion false. The condition afv(Γ) blocks exactly this derivation.

For the second failure, take A=P(x)P(a) and an empty context. Implication identity derives NP(a)P(a)=A[a/x]. A rule checking only the context would then derive Nx(P(x)P(a)). Interpret a as one element where P is false and let P hold at another element. The displayed universal formula is false. Requiring afv(Γ,xA) blocks this second derivation as well. ◻

By lemma 3.7, either counterinterpretation proves that the weakened rule is unsound. No semantic interpretation is needed in the syntactic developments below.

Lemma 3.9 — Freshening natural-deduction eigenvariables

Let X be a finite set of individual variables. Every natural-deduction derivation has a derivation of the same end judgment and the same height in which every locally introduced eigenvariable lies outside X.

Proof of Lemma 3.9 — Freshening natural-deduction eigenvariables

Proof. Prove by induction on the derivation the assertion for every finite forbidden set X. The induction hypothesis may therefore be applied to each immediate premise with any enlarged finite set. Rebuild every rule without an eigenvariable from the resulting premise derivations.

Suppose the last rule is I with eigenvariable a; the E case has the same two binding positions. Apply the induction hypothesis to each scoped premise with the strengthened forbidden set X{a}. Let Z be the finite set of all individual variables occurring in that transformed premise derivation. If aX, retain a. If aX, choose bXZ and consistently rename the occurrences governed by the outer rule from a to b. Structural induction on the transformed premise shows that each rule instance remains valid; in particular, A[a/x] becomes A[b/x]. No nested eigenvariable is captured because bZ. The outer eigenvariable is absent from the end judgment by the rule’s side condition, so the end judgment is unchanged. The premise height and final rule node are unchanged. Thus every nested eigenvariable avoids X, and the outer one does as well. ◻

Corollary 3.10 — Prescribed outer natural-deduction eigenvariable

Suppose a natural-deduction derivation ends in I or E, and let b satisfy that rule’s freshness condition for the end judgment. The outer eigenvariable can be renamed to b without changing the end judgment or height, while every eigenvariable nested in its scoped premise avoids any given finite set X{b}.

Proof of Corollary 3.10 — Prescribed outer natural-deduction eigenvariable

Proof. Apply lemma 3.9 to each scoped premise with forbidden set X{b}. The transformed nested eigenvariables therefore avoid b. Consistently rename the outer eigenvariable to b; the freshness hypothesis keeps the end judgment fixed, and the preceding avoidance prevents capture. Renaming changes no rule node. ◻

Part (c) below composes a derivation producing A with one that uses A; it is the natural-deduction form of Cut. Eigenvariable freshening in its proof means the height-preserving operation of lemma 3.9.

Lemma 3.11 — Weakening and individual substitution

  1. For every context Δ, derivability of ΓNA implies derivability of Γ,ΔNA.

  2. Individual substitution preserves derivability: ΓNA implies Γ[t/a]NA[t/a], after alpha-freshening every eigenvariable away from fv(t){a}.

  3. If Γ,ANC and ΔNA, then Γ,ΔNC.

  4. Contraction turns Γ,A,ANC into Γ,ANC.

Proof of Lemma 3.11 — Weakening and individual substitution

Proof. For (a), induct on the derivation and enlarge every context. In a quantifier case use lemma 3.9 with X=fv(Δ) before applying the induction hypothesis. For (b), induct again. The only binder case is I or E; choose its eigenvariable b outside fv(t){a}. Thus ba, so substitution passes through the eigenbinder rather than stopping at it. Then lemma 3.3 gives the required commutation of formula substitution with the binder, while freshness preserves the rule’s side condition. For (c), induct on the derivation of Γ,ANC. A use of the distinguished hypothesis is replaced by the given derivation. If the leaf occurs under local assumptions Θ, clause (a) first weakens ΔNA to Δ,ΘNA; the replacement therefore has exactly the leaf’s local context. At that leaf the transformation is AΓ,A,ΘΓ,A,ΘNAHypis replaced byWΓ,Θ(D):Γ,Δ,ΘNA, where D:ΔNA and WΓ,Θ is weakening by clause (a). Every rule above that leaf is reconstructed from the transformed premises. In an E case freshen the local eigenvariable away from Δ before using the induction hypotheses. For clause (d), induct on the derivation. A hypothesis leaf depends only on membership, so replacing two copies of A by one preserves it. Rebuild every connective rule from the induction hypotheses. In a quantifier rule, alpha-freshen its eigenvariable away from A before rebuilding the rule; the side condition is then unchanged. ◻

The one-conclusion sequent calculus LJ

Natural deduction composes premises inside elimination. For example, E combines a derivation of AB with one of A and returns B directly. In LJ, L instead analyzes an antecedent occurrence of the implication; the composition operation becomes a separate displayed rule.

Definition 3.12 — LJ

A sequent is an assertion ΓA that A follows from the multiset of assumptions Γ. The symbol is the object-language implication connective, whereas separates an antecedent from its single succedent. Thus P(c)Q(c) is a formula, while P(c),P(c)Q(c)Q(c) is a sequent. Syntactically, a sequent assertion means derivability by the following rules. The structural and logical rules are

Γ,AA
Ax
ΓAΔ,AC
Γ,ΔC
Cut
ΓC
Γ,AC
W_L
Γ,A,AC
Γ,AC
C_L
Γ,C
L
ΓAΓB
ΓAB
R
Γ,AiC
Γ,A1A2C
L_i
ΓA
ΓAB
R_1
ΓB
ΓAB
R_2
Γ,ACΓ,BC
Γ,ABC
L
Γ,AB
ΓAB
→ R
ΓAΔ,BC
Γ,Δ,ABC
→ L
ΓA[a/x]afv(Γ,xA)
ΓxA
R
Γ,A[t/x]C
Γ,xAC
L
ΓA[t/x]
ΓxA
R
Γ,A[a/x]Cafv(Γ,C,xA)
Γ,xAC
L

All displayed terms and formulas are well formed over Σ. Exchange is implicit because contexts are multisets. An eigenvariable freshness line printed in a premise slot is a metalevel side condition on the rule instance, not another derivability judgment. Here Ax, Cut, WL, and CL are the structural rules. L and every connective or quantifier rule are logical rules. The main text labels a logical rule by its symbol, such as R. In compact rule names, And, Or, Imp, All, and Some denote ,,,,, while L and R retain the same side designation. Thus All-R and R name the same rule.

The displayed implication sequent already has a complete LJ derivation: XP(c)P(c)AxXQ(c)Q(c)AxP(c),P(c)Q(c)Q(c)L. The two Ax leaves have empty side contexts. The final rule analyzes the antecedent implication: its left premise establishes P(c), and its right premise continues from Q(c).

The one-formula succedent is the intuitionistic restriction. Gentzen’s classical calculus LK uses finite multisets on both sides, ΓΔ, and its logical rules may retain other formulas in Δ. LJ is not obtained by interpreting such a multisuccedent as a single implicit disjunction: the restriction to one displayed conclusion is part of the formal system. Only LJ is developed in this chapter.

Lemma 3.13 — Freshening LJ eigenvariables

Let X be a finite set of individual variables. Every LJ derivation has a derivation of the same end sequent and height in which every eigenvariable introduced by R or L lies outside X.

Proof of Lemma 3.13 — Freshening LJ eigenvariables

Proof. Prove by induction on the LJ derivation the assertion for every finite forbidden set X. The induction hypothesis may therefore be applied to an immediate premise with any enlarged finite set. Rebuild a rule without an eigenvariable from the resulting premises.

Suppose the final rule has outer eigenvariable a. Apply the induction hypothesis to its scoped premise with forbidden set X{a}. Let Z contain every individual variable occurring in the transformed premise derivation. Retain a if aX. Otherwise choose bXZ and rename the occurrences governed by the final rule from a to b. Structural induction on the premise preserves every LJ rule instance and changes A[a/x] to A[b/x]. The side condition keeps the outer name absent from the end sequent, and bZ prevents capture of nested eigenvariables. No rule node is added or deleted. ◻

Corollary 3.14 — Prescribed outer LJ eigenvariable

If an LJ derivation ends in R or L, any variable b satisfying that rule’s freshness condition can replace its outer eigenvariable without changing the end sequent or height. The nested eigenvariables may simultaneously be required to avoid a given finite set X{b}.

Proof of Corollary 3.14 — Prescribed outer LJ eigenvariable

Proof. Freshen the scoped premise by lemma 3.13 with forbidden set X{b}, and then consistently rename the outer eigenvariable to b. The rule’s freshness condition fixes the end sequent, and the nested avoidance condition prevents capture. ◻

Lemma 3.15 — Semantic soundness of LJ

Every derivable LJ sequent is valid: in every interpretation and assignment, truth of all formulas in its antecedent implies truth of its succedent.

Proof of Lemma 3.15 — Semantic soundness of LJ

Proof. Fix an interpretation and assignment ρ, and induct on the derivation. Ax selects a true antecedent formula. Weakening and contraction preserve the conditions imposed by antecedent truth. For Cut, antecedent truth and the left induction hypothesis make the cut formula true; the right induction hypothesis then makes the succedent true. For a representative branching propositional case, suppose the last rule is L. Truth of AB gives either truth of A or truth of B; apply the induction hypothesis for the corresponding premise. Rule L first uses its left induction hypothesis to make A true. Truth of AB then makes B true, so the right induction hypothesis yields the succedent. The remaining propositional rules apply the displayed truth clause for their principal connective.

For L, truth of xA gives truth of A under ρ[x[[t]]ρ]. Semantic substitution makes A[t/x] true under ρ, so the premise induction hypothesis applies. For R, the premise makes A[t/x] true; semantic substitution makes [[t]]ρ a witness. The R argument is the I argument of lemma 3.7 with sequents in place of natural-deduction judgments. The L argument is its E minor-premise argument: update the fresh eigenvariable to the witness supplied by the true existential. These cases exhaust LJ. ◻

The split-context form of E is admissible from the shared-context rule: weaken both premises to Γ,Δ and apply E. In the notation just defined, ΓNABΔNAΓ,ΔNBE becomes the two-stage LJ construction ΓABΔABBΔ,ABBLΓ,ΔBCut. The intermediate implication is now visible as the cut formula.

The principal formula of a logical rule instance is the formula it introduces in the conclusion; all unchanged formulas there are side formulas. In L and Cut the two premises may use different assumption occurrences, so their contexts are joined. By additive here we mean a two-premise rule whose premises reuse the same context: R and L require both premises under the same assumptions. Because weakening and contraction are available, these choices do not restrict ordinary provability. They do determine which antecedent occurrences each cut permutation transports into a premise.

The running argument becomes P(a)P(a)Q(a)Q(a)Q(a)xQ(x)RP(a),P(a)Q(a)xQ(x)LP(a),x(P(x)Q(x))xQ(x)Lx(P(x)Q(x)),xP(x)xQ(x)L. The final L uses an eigenvariable a fresh for x(P(x)Q(x)), xP(x), and xQ(x). Both leaves are direct instances of Ax with empty side context; no weakening is needed there.

Exercise 3.2

★★☆ Derive x(P(x)Q(x))(xP(x))(xQ(x)). Write both eigenvariables. Write every Ax leaf in its full-side-context form Γ,AA, recording the side context actually present (possibly empty), and state explicitly whether any WL applications remain necessary.

Lemma 3.16 — Structural bookkeeping without cut

Individual substitution preserves cut-free LJ derivability. One or finitely many applications of WL and CL also preserve cut-freeness; the only formulas they add are the formulas explicitly weakened into the antecedent.

Proof of Lemma 3.16 — Structural bookkeeping without cut

Proof. Individual substitution is induction on the derivation, with eigenvariables freshened by lemma 3.13 away from the source variable and the free variables of the inserted term. In a final R or L case, choose the eigenvariable b outside that set, apply the induction hypothesis to the premise, use lemma 3.3 to commute the two individual substitutions, and rebuild the same quantified rule. Each weakening or contraction is already a primitive LJ rule. Append the required rule instances one at a time. None is Cut, so the result remains cut-free. ◻

Lemma 3.17 — Split-context natural-deduction eliminations

The following forms are admissible, where commas denote multiset union:

ΓNABΔNA
Γ,ΔNB
split → E
ΓNABΔ,ANCΘ,BNC
Γ,Δ,ΘNC
split E
ΓNxAΔ,A[a/x]NCafv(Γ,Δ,C,xA)
Γ,ΔNC
split E
ΓN
Γ,ΔNC
split E

The split forms of Ei and E have one premise and merely retain that premise’s context.

Proof of Lemma 3.17 — Split-context natural-deduction eliminations

Proof. For implication, weaken both premises to Γ,Δ, apply the shared-context E rule, and obtain exactly Γ,ΔNB. For disjunction, weaken all three premises to Γ,Δ,Θ, preserving the temporary assumption in each minor premise; the shared-context E rule already has the required conclusion. For existential elimination, first use corollary 3.10 to choose its eigenvariable away from Γ,Δ,C,xA. Weaken the major and minor premises to Γ,Δ and apply E; again the shared rule has exactly the required context. Bottom elimination is followed by weakening. The unary forms are the original rule instances. ◻

Natural deductions and sequents prove the same formulas

The right-to-left translation handles a Cut by assumption substitution. The left-to-right translation needs Cut to simulate natural-deduction eliminations.

Theorem 3.18 — ND–LJ correspondence

For every well-formed Γ,A, ΓNAΓA where the sequent on the right may be derived in full LJ, including Cut.

Proof of Theorem 3.18 — ND–LJ correspondence

Proof. From natural deduction to LJ, induct on the natural-deduction derivation. Use the admissible forms of lemma 3.17; a shared-context source rule is their instance with equal contexts. Introduction rules become the corresponding right rules. For implication elimination, translate the premises to ΓAB and ΔA. Rule L, with the second premise BB, derives Δ,ABB; Cut against the first translation derives Γ,ΔB. When the source is the primitive shared-context rule, Γ=Δ; contract the duplicated assumption occurrences to recover its one-copy source context.

Disjunction elimination is different because it has two minor branches. Translations ΓAB,Δ,AC,Θ,BC are first weakened so that the two minor premises share Δ,Θ. Rule L then derives Δ,Θ,ABC, and Cut with the major translation derives Γ,Δ,ΘC. Contract precisely the occurrences duplicated when source contexts coincide.

For existential elimination, first use corollary 3.10 to choose its eigenvariable away from both source contexts. Translate its major and minor premises to ΓxA,Δ,A[a/x]C. Then L derives Δ,xAC, and Cut derives Γ,ΔC. The source freshness condition is now exactly the LJ condition on the rebuilt left rule. Conjunction and universal elimination follow the same unary schema: use the matching left rule on an Ax leaf for the selected component or instance, then Cut the translated major premise. If the source existential elimination used one shared context, contract the two translated copies after the Cut. Bottom elimination uses L followed by Cut. These are all natural-deduction rule families.

From LJ to natural deduction, induct on the sequent derivation. Right rules are the corresponding introductions. For L, the induction hypotheses give ΓNA and Δ,BNC. Under Γ,Δ,AB, implication elimination applied to the principal hypothesis and the weakened proof of A gives B; proof substitution from lemma 3.11(c) inserts that proof into the translated right premise.

For L, use the principal hypothesis AB as the major premise of E and the two translated premises as its minor branches. For L, use the principal hypothesis xA as the major premise of E and the translated LJ premise as its minor premise. The LJ side condition is literally the natural-deduction side condition. Conjunction left, universal left use the matching unary elimination on the principal hypothesis and then clause (c) to insert the result into the translated premise. The nullary L case is direct: from the principal hypothesis h:, rule E derives the required conclusion, with no translated premise to substitute into. Cut is clause (c) itself. Weakening uses clause (a), contraction uses clause (d), and Ax uses Hyp. The displayed constructions cover every branching and binding form; the unary schema covers exactly Li and L. ◻

For the running proof, the translation can be read from the outside inward. The final L becomes E: xP(x)ΓΓNxP(x)HypΓ,P(a)NxQ(x)ΓNxQ(x)E. Inside the minor premise, L becomes E on the hypothesis x(P(x)Q(x)), L becomes E with the hypothesis P(a), and R becomes I. The uses of lemma 3.11(c) insert these derived formulas into the translated remainder; in the displayed running tree the relevant remainders are identity derivations, so that insertion is invisible.

Exercise 3.3

★★☆ Translate the displayed LJ proof of the running formula into natural deduction. Circle the E subderivation and state why its eigenvariable condition is unchanged by the translation.

Cut reduction

A derivation with Cut may introduce a formula and immediately analyze it. We remove that detour by measuring the cut formula before measuring either proof.

An induction directly on the two premises of ordinary Cut fails in the contraction case. If the right derivation ends by contracting the cut formula, D:ΓAE:Δ,A,ACΔ,ACCLΓ,ΔCCut, the tempting sequential repair first cuts one selected copy in E and then cuts the other. The right premise of the second Cut is the output of the first Cut, not a proper subderivation of E; its height therefore need not decrease. The recursive call must remove all selected copies while its right premise is still the genuine subderivation E. An A-multicut therefore removes all marked copies in one recursive call.

Definition 3.19 — Multicut

The strengthened A-multicut takes ΓA and Δ,A[n]C, with n1, removes n marked occurrences of A and concludes Γ,ΔC. The brackets are bookkeeping, not formula syntax: A[n] means n selected copies in the antecedent, while Δ contains every unselected occurrence, possibly including further copies of A. Only the selected copies are removed. Thus a multicut is indexed not just by the end sequent but by the chosen decomposition Δ,[A]1,,[A]n: the bracketed occurrences are selected and all occurrences inside Δ are retained.

For the contraction configuration that forced the strengthening, mark the two occurrences in the proper premise E: D:ΓAE:Δ,[A]1,[A]2CΔ,ACCLΓ,ΔCCut. Its repaired recursive call is D:ΓAE:Δ,[A]1,[A]2CΓ,ΔCAMCut2. The subscripts select occurrences and are not formula syntax. If height is the number of rule nodes on a longest branch, the old recursive pair has height sum h(D)+h(E)+1, because its right derivation includes the final contraction. The repaired recursive pair is (D,E), with sum h(D)+h(E). It is therefore strictly smaller. A sequence of two ordinary cuts would make the right premise of the second cut the output of the first, rather than a proper subderivation of E.

Lemma 3.20 — Principal cut reductions

Suppose two cut-free derivations end by introducing the cut formula A on the right and on the left, respectively. Assume every cut between cut-free derivations on a formula of rank smaller than |A| can be eliminated. Then their cut has a cut-free replacement.

Proof of Lemma 3.20 — Principal cut reductions

Proof. The reductions are determined by the outer constructor of A.

For A=A1A2, the derivation producing A ends in R and the derivation using A ends in Li. The complete local replacement is D1:ΓA1D2:ΓA2ΓA1A2RE:Δ,AiCΔ,A1A2CLiΓ,ΔCCut. Replace it by Di:ΓAiE:Δ,AiCΓ,ΔCCut. The replacement cuts on the proper subformula Ai.

For A=A1A2, the producing rule is Ri and the using rule is L. The reduction is Di:ΓAiΓA1A2RiE1:Δ,A1CE2:Δ,A2CΔ,A1A2CLΓ,ΔCCut. Replace it by Di:ΓAiEi:Δ,AiCΓ,ΔCCut. The unused branch disappears.

For A=A1A2, write the final rules as Γ,A1A2ΓA1A2R,ΔA1Θ,A2CΔ,Θ,A1A2CL. First cut ΔA1 into Γ,A1A2, obtaining Γ,ΔA2. Eliminate this lower-rank cut by the lemma’s assumption before the second is formed. Then cut its cut-free result into Θ,A2C, and eliminate that lower-rank cut by the same assumption. The two new cut formulas are A1 and A2.

For A=xB, the derivation producing A ends in R with a fresh a, and the derivation using A ends in L at a term t. Freshen a away from Γ,Δ,C,t, apply individual substitution t/a to the R premise, and cut the resulting proof of B[t/x] against the L premise: D[t/a]:ΓB[t/x]E:Δ,B[t/x]CΓ,ΔCCut. Here |B[t/x]|=|B|<|xB| by lemma 3.3, so the new cut has smaller rank. For A=xB, the producing rule has premise D:ΓB[t/x] for a witness t, and the using rule opens an eigenvariable a. Freshen a away from the producing derivation, substitute t/a through the using premise, and cut D:ΓB[t/x]E[t/a]:Δ,B[t/x]CΓ,ΔCCut. Again |B[t/x]|=|B|<|xB| by lemma 3.3. In every displayed case, eliminate the new lower-rank cuts by the lemma’s assumption. Atomic formulas have no principal introduction pair, and has no right introduction. ◻

Example 3.21 — A concrete principal existential cut

Let H:=x(P(x)Q(x)), and let a be fresh. The complete right premise is Ea:=XP(a)P(a)AxXQ(a)Q(a)AxQ(a)xQ(x)RP(a),P(a)Q(a)xQ(x)LH,P(a)xQ(x)LH,xP(x)xQ(x)L. Now form the cut itself: XP(c)P(c)AxP(c)xP(x)REaP(c),HxQ(x)Cut. Its measure has cut rank 1. The principal reduction substitutes c/a in the right minor premise and replaces that cut by P(c)P(c)H,P(c)xQ(x)P(c),HxQ(x)Cut. Its cut formula is the proper subformula P(c). Its left premise is Ax, so the cut merely replaces uses of that same assumption by the identical assumption; deleting the Cut node leaves the instantiated right premise (up to exchange, which is implicit because H,P(c) and P(c),H are the same multiset). No weakening or contraction is needed in this instance. Thus one concrete reduction visibly lowers rank from an existential formula to an atom and then terminates.

One nonprincipal step can be made equally concrete. Apply WL to Ea, adding an unrelated formula R, and cut the same left premise against that weakened conclusion. The right last rule is not principal for xP(x), so commuting produces P(c)xP(x)EaP(c),HxQ(x)CutP(c),H,RxQ(x)WL. The cut rank remains 1, but its right premise has lost the final weakening, so the height sum decreases by one. The principal reduction above then removes the remaining cut.

Exercise 3.4

★★☆ Draw the complete principal reduction for a cut between R with witness t and L with eigenvariable a. Mark the use of individual substitution and verify afv(t,Γ,C) after alpha-freshening.

Lemma 3.22 — Multicut base cases

Let D:ΓA and E:Δ,A[n]C be cut-free. Their multicut has a cut-free replacement without recursion in each of the following cases:

  1. D ends in Ax;

  2. E ends in Ax;

  3. D ends in L;

  4. E ends in L on an unselected occurrence;

  5. the last rule of E weakens in the only selected occurrence.

Proof of Lemma 3.22 — Multicut base cases

Proof. We follow the five cases in order.

  1. Write the Ax conclusion as Θ,AA. Weaken E by every formula of Θ, then contract its n selected copies of A to the one retained from the identity context. The result is Θ,A,ΔC, the required conclusion.

  2. If C is an unselected member of Δ, Ax directly gives Γ,ΔC. Otherwise the Ax leaf uses a selected copy, so C=A; weaken D by Δ.

  3. The context Γ contains . Hence L directly derives Γ,ΔC.

  4. The unselected context Δ contains the principal , so the same zero-premise rule directly derives Γ,ΔC.

  5. The premise of the weakening is ΔC. Weaken it by every formula occurrence of Γ.

No construction contains Cut. ◻

Lemma 3.23 — Commuting multicuts

Suppose none of the preceding base cases applies. If the selected formula A is nonprincipal in the last rule of one premise, the multicut commutes above that rule. A final contraction of selected copies is handled by one multicut over all copies, and a final weakening is handled by a multicut over the selected copies that remain. Every recursive multicut has the same formula rank and strictly smaller height sum.

Proof of Lemma 3.23 — Commuting multicuts

Proof. First suppose the last rule belongs to the derivation using A. Recurse on exactly those premises containing selected occurrences and rebuild the same rule. For an additive rule, such as R, both recursive conclusions have the same context Γ,Δ, so the rule reapplies directly.

A split-context rule shows the extra bookkeeping. If a nonprincipal L distributes the selected copies between its premises, its end is Δ,A[n1]BΘ,A[n2],DCΔ,Θ,A[n1+n2],BDCL. For each positive ni, recursively multicut that premise with D:ΓA; leave a premise with ni=0 unchanged. When both are positive, reapplying L gives Γ,ΔBΓ,Θ,DCΓ,Δ,Γ,Θ,BDCL. Contract the two inserted copies of every occurrence in Γ. If only one ni is positive, Γ is inserted only once and no contraction is needed. Thus the rebuilt conclusion is always Γ,Δ,Θ,BDC.

Every recursive right premise is a proper subderivation, so its height sum is smaller. Before commuting through R or L, alpha-freshen the eigenvariable away from the other cut premise.

Now suppose the last rule belongs to the derivation producing A. These data are not obtained by exchanging the two multicut premises. If the producer ends in a split L on a side formula BD, it has the form D1:ΓBD2:Θ,DAΓ,Θ,BDAL. Only D2 still produces the cut formula. Recursively multicut D2 with E:Δ,A[n]C, obtaining Θ,D,ΔC, and rebuild L with the unchanged D1: D1:ΓBΘ,D,ΔCΓ,Θ,Δ,BDCL. The recursive height sum is h(D2)+h(E), strictly below h(D)+h(E).

A branching producer-side L has both premises ending in succedent A. Recurse once on each proper premise with the unchanged consumer, then rebuild L; both recursive height sums decrease, and the shared Δ is a side context in each rebuilt branch. The producer-side R case cannot be nonprincipal, because its succedent is its principal conjunction. For a unary logical left rule, recurse on its sole premise and rebuild it. If that rule is L, first use lemma 3.13 to choose its eigenvariable away from Δ,A,C, so the rebuilt rule preserves its side condition.

For producer-side WL or CL, recurse on the proper premise and reapply the same structural rule to the formula it added or contracted. A producer-side Ax or L is a base case. A producer-side right rule makes its succedent principal and is therefore not a commuting case. These observations cover every producer-side rule family; each recursive producer premise is proper, so every height sum decreases.

If the final rule contracts selected copies, its premise has one additional selected occurrence. One recursive multicut removes all of them, and the proper right premise lowers the height sum. For contraction of an unselected formula B, recurse on the premise containing B,B, then apply CL to those two occurrences in the recursive conclusion. If a final weakening erases one selected copy while others remain, recurse on those remaining copies in its proper premise; the case in which none remains is base case 5. Finally, if E ends in L on a selected , no right rule can introduce the cut formula. The last rule of D is therefore a base case or is nonprincipal, so the producer-side construction described above applies. These cases exhaust the structural and zero-premise rules. ◻

Definition 3.24 — Cut measure

Recall from definition 3.1 that |A| counts the logical connectives and quantifiers in A. Let h(D) be the number of rule instances on the longest root-to-leaf branch of D; a zero-premise rule has height one. A multicut with premises D,E has lexicographic measure (|A|,h(D)+h(E)). Here (m,k)<lex(m,k) means either m<m, or m=m and k<k. A principal reduction replaces the cut formula by proper subformulas, so the first component decreases. A commuting conversion keeps the formula and replaces one premise by a proper subderivation, so the second component decreases. Commuting past contraction may increase the selected multiplicity n, but it still uses the proper right subderivation; this is why n is absent from the measure. Lexicographic induction is ordinary induction on the first component, with a nested induction on the second component at each fixed first component.

Theorem 3.25 — Cut elimination

If ΓA has an LJ derivation, then it has a cut-free LJ derivation.

Proof of Theorem 3.25 — Cut elimination

Proof. It suffices to prove the strengthened multicut statement: for every pair of cut-free derivations D:ΓA,E:Δ,A[n]C, a cut-free derivation of Γ,ΔC exists. Induction on the measure of definition 3.24 applies this assertion recursively only to pairs of strictly smaller lexicographic measure.

The following decision table records the recursive invariant. Read the first column from top to bottom. A “yes” answer performs the action in the same row. Either nonprincipal row keeps the cut formula and lowers the height sum; the final row replaces it by proper subformulas and lowers rank. testansweractionbase case?yesdirect cut-free treenoproducer nonprincipal?yescommute; height sum decreasesnoconsumer nonprincipal?yescommute; height sum decreasesnoboth principalreduce; cut rank decreases. In the two nonprincipal rows, a recursive call is made for every proper premise that still produces A or contains a selected occurrence of A, as specified by lemma 3.23.

Test the last rule of D before changing E. Exactly one of the following three cases applies.

  1. If a case of lemma 3.22 applies, use its direct cut-free construction. There is no recursive call.

  2. If A is nonprincipal in the last rule of D, commute the original n-multicut above that rule by lemma 3.23. A recursive pair is (Di,E), where Di is a proper subderivation of D. Relative to the original pair its measure is (|A|,h(Di)+h(E))<lex(|A|,h(D)+h(E)). After the recursive calls, rebuild the final rule of D. No principal cut reduction occurs in this case.

  3. Suppose A is principal in the last rule of D. If no selected occurrence is principal in the last rule of E, commute the original multicut above E. Its recursive pairs are (D,Ei) with Ei proper, so their height sums are strictly smaller than the original height sum.

    It remains that one selected occurrence is principal in the last logical left rule of E. For every proper premise containing additional selected side copies, recursively multicut exactly those copies with D. Each pair (D,Ei) has the same rank and smaller height sum because Ei is a proper subderivation of the original E. Rebuild the left rule, retaining for the moment every copy of Γ inserted into its premises. The resulting derivation has one selected occurrence, the principal one. Apply lemma 3.20; every recursive cut it creates has a proper subformula of A, so the first component of the measure decreases, independently of the rebuilt derivation’s height. After eliminating those lower-rank cuts, apply CL to each duplicated occurrence of each formula in Γ until the conclusion contains exactly one copy of Γ. This gives Γ,ΔC.

After the base cases, the last rule of D is either nonprincipal or principal for A. In the latter case the last rule of E either has no principal selected occurrence or has one; the preceding two subcases cover those alternatives, including any additional selected side copies. The partition is therefore exhaustive.

For the theorem, induct on an arbitrary LJ derivation F, with the invariant that the end sequent of F has a cut-free derivation. Apply the induction hypotheses to all immediate premises. A non-Cut final rule reapplies to the cut-free premises. At a Cut final rule, the two induction hypotheses give cut-free premises, and the strengthened result with n=1 gives the cut-free conclusion. ◻

Corollary 3.26 — Subformula property and consistency

For the finitary first-order LJ of definition 3.12, with no nonlogical axiom schemes, every formula in a cut-free derivation of ΓA is a subformula of a formula in Γ,A, up to substituting terms for bound variables. In particular, is not derivable. This conclusion uses only finitary syntax trees, primitive recursion—recursive calls made on immediate subtrees and combined by one fixed case for each constructor—and induction on natural numbers and finite derivations fixed in chapter 1. It uses no semantic consistency assumption.

Proof of Corollary 3.26 — Subformula property and consistency

Proof. Induct on the cut-free derivation with this invariant: at every node, each formula is a subformula of an end-sequent formula, with zero or more bound variables instantiated by terms. Read a final rule from conclusion to premises. Every logical rule replaces its principal formula by immediate subformulas; the quantifier rules additionally instantiate one bound variable. Structural rules introduce or identify only antecedent formulas already present in the end context. This proves the invariant. If had a derivation, cut elimination would produce a cut-free one. No rule can be its last rule. There is no right rule for , and Ax and L require a formula in the antecedent. In a cut-free derivation, every remaining structural or logical left rule also requires a nonempty antecedent. The remaining right rules conclude a formula whose outer connective is not . ◻

Corollary 3.27 — Disjunction and existence properties

If AB is derivable, then either A or B is derivable. If xA is derivable, then for some term t, A[t/x] is derivable.

Proof of Corollary 3.27 — Disjunction and existence properties

Proof. Apply cut elimination. With an empty antecedent, no structural or logical left rule can be last. Therefore a cut-free proof of a disjunction ends in R1 or R2, whose premise proves the corresponding disjunct. A cut-free proof of an existential ends in R, whose displayed witness and premise give the second claim. ◻

Example 3.28 — Two-valued truth is not intuitionistic provability

For every two-valued interpretation, either P(c) is true or it is false; hence P(c)¬P(c) is true. It is not derivable in LJ. If it were, the disjunction property would give a derivation of P(c) or of P(c). A cut-free derivation of the first has no possible last rule from an empty antecedent. A cut-free derivation of the second must end in R, leaving P(c); that sequent also has no possible last rule. Thus two-valued truth includes formulas not derivable in the intuitionistic calculus. In this precise sense it does not characterize intuitionistic derivability.

Exercise 3.5

★★☆ Commute a cut on A above a final L whose principal formula is BDA and whose succedent is K. Display both new cuts and show that their formula rank is unchanged while each height sum decreases.

Proof terms and normal inhabitation

Cut elimination removes intermediate formulas from a derivation, but it does not yet say what computation occurs in the proof term carried by a quantifier rule. The missing operations bind and substitute two different sorts of names: individual variables and proof labels. Label assumptions by h. The judgment Ξp:A, for Ξ=h1:A1,,hn:An, says that p is a proof of A from those labeled assumptions. Erasing the labels from Ξ yields the multiset antecedent of the corresponding natural-deduction or LJ judgment; contraction identifies two labels of the same formula and weakening discards an unused label. This assignment uses the same introduction and elimination constructors that proposition 2.33 read as programs, but it erases lambda-domain annotations and adds constructors for the individual quantifiers. It is therefore a proof-term notation for the first-order natural-deduction judgment, not a literal extension of chapter 2’s raw program grammar. Their grammar is p::=hλh.ppqp,qπipinipcase(p;h.q;j.r)Λa.pp[t]pack(t,p)unpack(p;a,h.q)abort(p). Here Λa.p binds the individual variable a in p; p[t] instantiates that binder. In unpack(p;a,h.q), both the witness name a and the proof assumption h are bound in q. The body q is the continuation: the proof computation that runs after the package has exposed its witness and proof. The semicolon separates the package from those binders and the continuation. The propositional constructors carry the proof-term assignment corresponding to the rules of definition 2.38, as established by proposition 2.33: for example, λh.p is I, application is E, pairs and projections are I/E, and injections and case are I/E.

The new typing rules are

Ξp:A[a/x]afv(Ξ,xA)
ΞΛa.p:xA
I
Ξp:xA
Ξp[t]:A[t/x]
E
Ξp:A[t/x]
Ξpack(t,p):xA
I
Ξp:xAΞ,h:A[a/x]q:Cafv(Ξ,C,xA)
Ξunpack(p;a,h.q):C
E
Ξp:
Ξabort(p):A
E

For a labeled context, fv(Ξ) is the union of the free individual variables in its formulas. The I check also includes the result formula, so the term binder Λa cannot silently capture an unrelated free parameter in that result.

Proposition 3.29 — First-order proof-term correspondence

Erasing proof labels from a derivation of Ξp:A gives a derivation of |Ξ|NA. Conversely, naming every assumption occurrence in a natural-deduction derivation of ΓNA gives a context Ξ with |Ξ|=Γ and a proof term p such that Ξp:A.

Proof of Proposition 3.29 — First-order proof-term correspondence

Proof. For the first direction, induct on the typing derivation. Each propositional constructor erases to the natural-deduction rule named in definition 3.4; the five displayed first-order typing rules erase to their equally named rules, with the same formulas and freshness side conditions.

For decoration, induct on the natural-deduction derivation after assigning a distinct proof label to every assumption occurrence in each context. A hypothesis leaf receives its assumption’s label. Introduction and elimination rules receive the corresponding constructor. In particular, I uses Λa.p, E uses p[t], I uses pack(t,p), and E uses unpack(p;a,h.q), where h names its temporary assumption. If weakening leaves an assumption unused, its label does not occur in the term; if contraction identifies two occurrences, consistently identify their labels. Thus decoration preserves the multiset of formulas and every freshness condition. ◻

The proof-label substitution p[q/h] replaces every free occurrence of proof label h in p by q. It is homomorphic on application, pairs, projections, injections, universal instantiation, packages, and abort. Its binding clauses are h[q/h]=q,k[q/h]=k(kh),λk.p[q/h]=λk.p[q/h],Λa.p[q/h]=Λa.p[q/h],C[q/h]=case(p;k.r;j.s),U[q/h]=unpack(p;a,k.r). Here C=case(p;k.r;j.s) and U=unpack(p;a,k.r). In the case clause, p=p[q/h], r=r[q/h], and s=s[q/h]. The unpack clause uses the first two of these equations. Before a binding clause is used, its proof labels and individual variables are alpha-renamed away from the free names of q; when a displayed binder is h, substitution does not descend into its body.

Capture-avoiding individual substitution p[t/a] leaves proof labels fixed and is homomorphic on every propositional proof constructor. It acts on the first-order constructors by p[u][t/a]=p[t/a][u[t/a]],pack(u,p)[t/a]=pack(u[t/a],p[t/a]),Λb.p[t/a]=Λb.p[t/a],unpack(p;b,h.q)[t/a]=unpack(p[t/a];b,h.q[t/a]). The last two equations use ba and bfv(t), obtained by alpha-renaming; if b=a, individual substitution does not descend under that individual binder.

Definition 3.30 — Compatible proof reduction

The complete root contractions for the present proof-term grammar are (λh.p)qpp[q/h],πip1,p2ppi,case(in1p;h.q;j.r)pq[p/h],case(in2p;h.q;j.r)pr[p/j],(Λa.p)[t]pp[t/a],unpack(pack(t,p);a,h.q)pq[t/a][p/h]. Compatible contexts mark every proof-subterm position: K::=[]λh.KKppKK,pp,KπiKiniKcase(K;h.q;j.r)case(p;h.K;j.r)case(p;h.q;j.K)Λa.KK[t]pack(t,K)unpack(K;a,h.q)unpack(p;a,h.K)abort(K). After alpha-renaming bound names away from the inserted term, rprK[r]pK[r]PCtx. Individual terms have no reduction relation here, so neither a package witness nor a universal-instantiation argument may replace [] in a compatible context.

The brackets in p[t] are a proof-term constructor for universal elimination; the slash in p[t/a] distinguishes the metalevel operation that replaces free a’s by t.

The universal beta root computes on a closed instance. From the temporary assumption h:P(a), h:P(a)h:P(a)h:P(a)h:P(a)Hypλh.h:P(a)P(a)IΛa.λh.h:x(P(x)P(x))I. Consequently (Λa.λh.h)[c]pbetaλh.h, and the reduct has type P(c)P(c).

The existential beta root performs the individual substitution before the proof-label substitution. If f:x(P(x)Q(x)) and p:P(c), then unpack(pack(c,p);a,h.pack(a,f[a]h)):xQ(x). Indeed, under h:P(a), the term f[a]h has type Q(a), so the body packages witness a. The root contraction is the annotated calculation unpack(pack(c,p);a,h.pack(a,f[a]h))pbetapack(a,f[a]h)[c/a][p/h]=individualsubstitutionpack(c,f[c]h)[p/h]=prooflabelsubstitutionpack(c,f[c]p). The reduct has the same type xQ(x).

Compatible reduction descends under the new individual binder as well as the propositional binders. For example, the raw proof term Λa.((λh.h)k)pΛa.k by PCtx with context Λa.[]. Thus the current relation is not merely a list of root contractions.

For the exact conclusion used below, define normal proofs n and neutral proofs e mutually: n::=eλh.nn,nininΛa.npack(t,n),e::=henπiee[t]case(e;h.n;j.n)unpack(e;a,h.n)abort(e).

Lemma 3.31 — Normal-form characterization

If Ξp:A, then p has no p-successor if and only if it is generated by the displayed normal grammar. A well-typed neutral term is generated by the displayed neutral grammar if and only if its elimination spine begins at a proof label and all its arguments and branch bodies are normal.

Proof of Lemma 3.31 — Normal-form characterization

Proof. Induct on the typing derivation. An introduction is normal exactly when each proof subterm is normal, because the compatible contexts descend into every proof position. For application, projection, and universal instantiation, an introduction at the head gives respectively an implication, product, or universal beta root; typing inversion excludes an introduction of any other shape at that head. Otherwise the induction hypothesis forces the head to be neutral and every argument to be normal. The two injection cases make a case scrutinee reducible; an existential package makes an unpack scrutinee reducible. If neither matching introduction occurs, the induction hypotheses force the case or unpack scrutinee to be neutral and every branch body to be normal. Abort is normal exactly when its scrutinee is neutral. These are all elimination constructors, and the resulting alternatives are precisely the two displayed grammars. ◻

Lemma 3.32 — Neutral substitution preserves normality

If n is normal and q is neutral, then n[q/h] is normal. If e and q are neutral, then e[q/h] is neutral.

Proof of Lemma 3.32 — Neutral substitution preserves normality

Proof. Induct simultaneously on the displayed grammars for n and e. At the variable case, substituting for h produces the neutral q, and every other variable is unchanged. An introduction constructor reapplies to normal induction hypotheses. An elimination constructor reapplies to a neutral induction hypothesis for its head and normal induction hypotheses for its arguments or branches. Alpha-freshen proof and individual binders before descending, so capture-avoiding substitution has exactly these componentwise clauses. Thus no introduction is placed at the head of an elimination. ◻

Lemma 3.33 — Cut-free back-translation is beta-normal

There is a translation assigning to every cut-free LJ derivation of ΓA a labeled natural-deduction derivation Ξp:A, for a naming Ξ of the assumptions in Γ. Its proof term is a normal n in the preceding mutual grammar.

Proof of Lemma 3.33 — Cut-free back-translation is beta-normal

Proof. Induct on the cut-free derivation with two simultaneous assertions:

  1. the translated derivation has a normal proof term;

  2. when a left rule analyzes a distinguished assumption, the term constructed from that assumption for the premise hypothesis is neutral.

A right rule contributes its introduction constructor to normal immediate subterms, proving (N).

For the left rules, let h name the principal assumption and let k name the premise formula discharged while rebuilding the rule. Conjunction left replaces k in its normal premise translation p by the neutral πih, producing p[πih/k]. Implication left has a normal translation r of its left premise; hr is neutral, so its right premise translation p yields the normal p[hr/k]. For universal left, instantiate the neutral principal hypothesis h at the rule’s term t, then replace the premise name k by that neutral term; the result is p[h[t]/k]. These terms are normal by lemma 3.32. Disjunction left directly forms the neutral case(h;k.p;j.q) from normal branch bodies, and existential left forms the neutral unpack(h;a,k.p). Bottom left gives the neutral abort(h).

Ax gives a variable, which is both neutral and normal. Weakening omits an unused name. Contraction replaces the two names in its normal premise term by the same neutral variable; two applications of lemma 3.32 preserve normality. There is no Cut case. These cases exhaust the rules and prove (N) and (E). ◻

Theorem 3.34 — Normal inhabitation

If Ξp:A, then there exists a beta-normal proof term q with Ξq:A.

Proof of Theorem 3.34 — Normal inhabitation

Proof. The first direction of proposition 3.29 removes the proof labels and gives a natural-deduction derivation. Translate it to LJ by theorem 3.18 and eliminate all cuts. The back-translation of lemma 3.33 returns a beta-normal proof term for the same labeled context and formula. ◻

The theorem is a normal-inhabitation result: it proves that the same labeled context and formula have a beta-normal inhabitant. It does not prove that p reaches q by zero or more p-steps. Such weak normalization requires a simulation from the selected cut reductions to the compatible proof reduction just defined; no such simulation is claimed.

A finite term pool and height bound give a decidable proof-search problem and produce a checkable LJ derivation when search succeeds. This bounded result also exposes the exact finite choices made at quantifier rules. If the symbol sets of Σ have the natural-number codes and decidable equality used by proposition 1.14, finite rule trees can be enumerated and checked. Therefore unrestricted derivability is semidecidable: as in chapter 1, an enumeration halts with “yes” exactly on derivable inputs and may run forever on an underivable one. No unrestricted decision or undecidability theorem is used.

The state transition is visible before any metatheorem is proved. Take T={c,d}, where dc, and temporarily enumerate that set as (d,c). Put H=x(P(x)Q(x)) and G={H,P(c)}. Trying S-All-L at d first gives the failed sibling after writing Gd=G{P(d)Q(d)}: (2,GdQ(c),()){(1,GdP(d),()),(1,Gd{Q(d)}Q(c),()). Neither child is an Ax state, so both fail at bound one and their canonical keys are stored. The next term choice gives (3,GQ(c),())(2,G{P(c)Q(c)}Q(c),()){(1,G{P(c)Q(c)}P(c),()),(1,G{P(c)Q(c),Q(c)}Q(c),()), and both children close by S-Ax. Choice scanning tried one failed sibling without spending an extra unit of proof height.

For a cache hit involving eigenparameters, suppose the variable enumeration begins a,b,c,. Compare the two states S,(a)3x(P(x)P(x)),S,(b)3x(P(x)P(x)). Both keys have the same canonical context, goal, and eigenparameter count. In the first state S-All-R introduces b; in the second it introduces a. The cached canonical proof records the newly introduced name as ϵ1. A hit for the second state starts with ϵ0b, extends that map by ϵ1a, and returns a proof of P(a)P(a), not a proof containing the first state’s name b.

Call an LJ derivation search-analytic when every logical formula is a subformula of the end sequent, up to the permitted term instances and fresh eigenparameters, and it contains neither Cut nor an arbitrary weakening formula.

Lemma 3.36 — Derived search rules and literal LJ

For a finite set G, GS,EnA has a derivation if and only if there is a search-analytic cut-free LJ derivation of GA whose logical height is at most n, whose instantiation terms lie in Trng(E) at each node with branch list E, and whose branch lists extend the initial E in introduction order. Logical height counts Ax, L, and logical rules; it gives weakening and contraction height zero.

Proof of Lemma 3.36 — Derived search rules and literal LJ

Proof. From a search derivation, induct on its last rule. For a right rule, apply the matching LJ rule to the translated premises. For a retained-principal left rule, weaken each translated premise to the shared context G, apply the matching LJ left rule, and contract every duplicated formula occurrence. For example, S-Imp-L yields LJ premises GA and G,BC. Literal L derives G,G,ABC; contract the two copies of each member of G and the additional retained copy of AB. The other left rules use the same explicit weaken–logical-rule–contract construction. The search freshness conditions are the LJ conditions, so the quantifier rules rebuild. Structural nodes add no logical height.

Conversely, induct on a search-analytic cut-free LJ derivation after replacing each antecedent multiset by its support. Ax and L become the two zero-premise search rules. Weakening and contraction do not change support and contribute no search node. For a split LJ rule, form a shared base from the union of its side contexts and retain its principal formula; temporary premise formulas remain local to their premises. For example, an implication-left conclusion has side contexts Γ,Δ and principal formula AB. With G=supp(Γ,Δ,AB), set weakening gives the search premises GS,EmA and G{B}S,EmC. It does not add B to the first premise or to the conclusion. The other split rules follow the same side-context/principal/temporary-formula division. At R or L, use corollary 3.14 to rename the outer eigenvariable to the least fresh name required by the search rule; nested eigenvariables are freshened away from that name. Every logical premise has smaller logical height, so the induction hypotheses apply. ◻

For example, with T={c}, backward search on x(P(x)Q(x)),P(c)Q(c) first uses L with instance c, then L. Its two remaining goals close by Ax: the first has P(c) in its shared antecedent, and the second has Q(c) in both antecedent and succedent. The emitted literal LJ tree can therefore be chosen as XP(c)P(c)AxXQ(c)Q(c)AxP(c),P(c)Q(c)Q(c)LP(c),x(P(x)Q(x))Q(c)L. With zero-premise rules at height one, this search derivation has height three; the emitted tree happens not to need extra structural nodes here.

The calculus printed here has the full first-order connective signature and explicit structural rules, so every principal and commuting reduction used by the cut-elimination theorem is proved locally. The bounded-search proposition is also local; it is not a decidability theorem for first-order intuitionistic validity.

Bibliographic notes.

The strengthened many-occurrence cut is the traditional mix (German Mischung) route to Gentzen’s cut-elimination argument [Gen35]. Pfenning’s structurally formulated proof provides a contrasting organization: structural rules are admissible there, and the proof does not use the displayed mix [Pfe95].

Suggested first pass.

None of these problems is a prerequisite for later chapters. Begin with the proof-term calculation in exercise 3.7, then test the eigenvariable boundary in exercise 3.8. Continue to the cut/search synthesis in exercise 3.9; implement the bounded searcher only after that paper trace is complete.

Exercise 3.7

★★☆ Extract a proof term from the running derivation of xQ(x). Let p be a proof term with p:P(c). Reduce the term obtained after replacing the existential hypothesis by pack(c,p), and identify the corresponding principal -cut reduction.

Exercise 3.8

★★☆ Give the dual bad derivation obtained by deleting the side condition from E. Use assumptions xP(x) and P(a)R(a), and state a two-element interpretation that refutes the resulting conclusion.

Exercise 3.10

★★★ Practical project.bounded-lj-search Implement the Ax, R/L, and R/L fragment of definition 3.35 with alpha-normalized cache keys. The fragment uses only unary predicates P and Q, implication, and universal formulas whose bound token does not occur beneath a nested universal. The chapter’s general first-order binding syntax is therefore outside the executable language of this project. The fragment must still maintain the ordered eigenparameter state and exercise a cache hit between two alpha-equivalent R branches. Maintain the invariant that every successful return contains an LJ derivation of the input sequent whose universal-left instances lie in the supplied finite term pool together with the branch eigenparameters. The acceptance test with pool {c} must find H,P(c)Q(c) first at height three, reject it at height two, and reject HQ(c) at every bound from zero through six. Print the successful derivation and check each node against the named rule used. At height two it must also accept P(c),P(c)(P(c)Q(c))P(c)Q(c): the failed R attempt must fall back to L. Also test the states S,(a)3x(P(x)P(x))andS,(b)3x(P(x)P(x)), where a precedes b. Record their identical canonical key (3,,x(P(x)P(x)),1), and require the second run to reuse the first cache entry without increasing cache size, and check that its decoded proof introduces a after the request-side map ϵ0b is extended by ϵ1a. The independent node checker takes the term pool as an input: it must reject an L witness outside the pool and branch eigenparameters, and it must reject a nonleast R eigenparameter.

Search the book

Type to search the local edition.