Prerequisites. Direct starred prerequisites: none. No later core chapter depends on this route.
An intuitionistic proof of ∀𝑛∃𝑚 𝐴(𝑛,𝑚) establishes that a witness exists for every input. Its conclusion need not display the finite-type functional that computes the witness. Gödel’s Dialectica interpretation makes that hidden data explicit: positive quantifiers become witnesses, negative quantifiers become challenges, and implication transforms both.
The target of this chapter is Gödel’s System 𝑇. The source is first-order Heyting arithmetic 𝖧𝖠, exactly as in the direct soundness theorem of Avigad and Feferman’s reconstruction [AF98]. This choice is important. The same source explains direct higher-type variants, but not full extensional 𝐸-𝖧𝖠𝜔; the latter first needs a separate formal interpretation into a suitable weaker higher-type arithmetic. Nothing below silently crosses that boundary.
Primitive recursion at finite types
Finite types are generated by 𝜎,𝜏::=ℕ∣𝜎→𝜏. Products are convenient for tuples but eliminable by currying, so they are metanotation here. Terms are the simply typed lambda terms with 0:ℕ,𝖲:ℕ→ℕ,𝖱𝜎:𝜎→(ℕ→𝜎→𝜎)→ℕ→𝜎. The computation rules are (𝜆𝑥.𝑡)𝑢⟶𝑡[𝑢/𝑥],𝖱𝜎𝑎𝑔0⟶𝑎, 𝖱𝜎𝑎𝑔(𝖲𝑛)⟶𝑔𝑛(𝖱𝜎𝑎𝑔𝑛). We take their compatible closure. This lambda presentation is definitionally intertranslatable with the typed 𝐾,𝑆,𝑅 presentation used in the primary source [AF98].
Addition, multiplication, and triangular summation are System 𝑇 terms: 𝖺𝖽𝖽:=𝜆𝑚.𝜆𝑛.𝖱ℕ𝑚(𝜆𝑘.𝜆𝑟.𝖲𝑟)𝑛,𝗆𝗎𝗅:=𝜆𝑚.𝜆𝑛.𝖱ℕ0(𝜆𝑘.𝜆𝑟.𝖺𝖽𝖽𝑚𝑟)𝑛,𝗍𝗋𝗂:=𝜆𝑛.𝖱ℕ0(𝜆𝑘.𝜆𝑟.𝖺𝖽𝖽(𝖲𝑘)𝑟)𝑛. For example, 𝗍𝗋𝗂3⟶𝖺𝖽𝖽3(𝗍𝗋𝗂2)⟶∗𝖺𝖽𝖽3(𝖺𝖽𝖽2(𝖺𝖽𝖽10))⟶∗6. Recursion occurs on a natural number, although the accumulated result may have any finite type. Thus 𝖱ℕ→ℕ, for example, builds a sequence of functions.
★★☆ Use 𝖱ℕ→ℕ to define 𝐹 :ℕ →ℕ →ℕ with 𝐹 0 𝑥 =𝑥 and 𝐹 (𝖲𝑛) 𝑥 =𝐹 𝑛 (𝖲𝑥). Calculate 𝐹 3 4, displaying every recursor step. (Twelve lines.)
Referenced from 3 locations
Reducibility and normalization
Let 𝖲𝖭 be the terms admitting no infinite reduction sequence. Define reducibility by type: Rℕ=𝖲𝖭,R𝜎→𝜏={𝑡∣∀𝑢∈R𝜎.𝑡𝑢∈R𝜏}. A term is neutral if it is a variable, a neutral application, or a recursor whose natural argument is neutral. The candidate facts needed below are:
𝑡 ∈R𝜎 implies 𝑡 ∈𝖲𝖭;
𝑡 ∈R𝜎 and 𝑡 ⟶𝑡′ imply 𝑡′ ∈R𝜎;
a neutral 𝑡 :𝜎 is in R𝜎 if every immediate reduct of 𝑡 is;
every variable is reducible.
All four are proved together by induction on 𝜎. At arrow type, apply the term to an arbitrary reducible argument. For neutral expansion, the reducts of 𝑡 𝑢 either reduce 𝑡, reduce 𝑢, or expose a head redex; nested induction on the finite reduction height of 𝑢 closes the case.
If 𝑎 ∈R𝜎, 𝑔 ∈Rℕ→𝜎→𝜎, and 𝑛 ∈Rℕ, then 𝖱𝜎 𝑎 𝑔 𝑛 ∈R𝜎.
Referenced from 3 locations
Proof of Lemma 66.1 — Reducibility of primitive recursion
Proof. Compatible one-step reduction is finitely branching on a finite term. Hence strong normalization of 𝑛 gives a maximum reduction length. Induct on that length, with a subordinate induction on the reduction heights of 𝑎 and 𝑔. Candidate closure handles reductions inside the three arguments. If the head argument is 0, the head reduct is 𝑎. If it is 𝖲𝑘, the head reduct is 𝑔 𝑘 (𝖱𝜎 𝑎 𝑔 𝑘). The outer induction makes the recursive call reducible, and reducibility of 𝑔 handles its two arguments. If the head argument is neutral, candidate neutral expansion applies. These are all immediate reducts. ◻
For a substitution 𝜌, write 𝜌 ∈RΓ when 𝑥 :𝜎 ∈Γ implies 𝜌(𝑥) ∈R𝜎.
If Γ ⊢𝑡 :𝜎 and 𝜌 ∈RΓ, then 𝑡[𝜌] ∈R𝜎.
Referenced from 3 locations
Proof of Theorem 66.2 — Fundamental theorem
Proof. Induct on the typing derivation. Variables use 𝜌. Application uses the arrow clause. For abstraction, extend 𝜌 by an arbitrary reducible argument; beta expansion and the induction hypothesis give a reducible result. Zero has no reduct and therefore lies in 𝖲𝖭. If 𝑢 ∈Rℕ, then 𝑢 ∈𝖲𝖭, and every reduction of 𝖲 𝑢 reduces 𝑢; hence 𝖲 𝑢 ∈𝖲𝖭. Thus successor satisfies the arrow clause. The recursor case is lemma 66.1. ◻
Every well-typed System 𝑇 term is strongly normalizing. Every closed normal term of type ℕ is a numeral.
Referenced from 2 locations
Proof of Corollary 66.3 — Normalization and numerical canonicity
Proof. Use the identity substitution in theorem 66.2 and candidate fact 1. For canonicity, inspect a closed normal natural term. It is neither a variable nor a lambda. An application or recursor at its head would either contain a redex or have a closed neutral natural head, which does not exist. Thus it is 0 or 𝖲 𝑛; iterate the argument. ◻
The normalization claim has the same System 𝑇 signature and reduction boundary as Avigad and Feferman’s Theorem 4.3.3 [AF98].
This proof supplies normalization, not a feasible cost bound. System 𝑇 functionals can have very large normalization behavior as their finite type level rises.
★★★ Supply the arrow-type proof of candidate facts 1–3, including the nested measure needed when both function and argument reduce. Then prove that 𝖲 ∈Rℕ→ℕ. (One page.)
Referenced from 3 locations
The Dialectica matrix
For every arithmetic formula 𝐴, its interpretation has the form 𝐴𝖣≡∃⃗𝑥∀⃗𝑦.𝐴𝖣(⃗𝑥,⃗𝑦), where the matrix 𝐴𝖣 is quantifier-free in the language of System 𝑇. Witness variables ⃗𝑥 and challenge variables ⃗𝑦 may be empty. If 𝐴𝖣 =∃⃗𝑥∀⃗𝑦.𝐴𝖣 and 𝐵𝖣 =∃⃗𝑢∀⃗𝑣.𝐵𝖣, define: 𝑃𝖣≡𝑃(𝑃 atomic),(𝐴∧𝐵)𝖣≡∃⃗𝑥,⃗𝑢∀⃗𝑦,⃗𝑣.(𝐴𝖣∧𝐵𝖣),(𝐴∨𝐵)𝖣≡∃𝑧,⃗𝑥,⃗𝑢∀⃗𝑦,⃗𝑣.((𝑧=0∧𝐴𝖣)∨(𝑧=1∧𝐵𝖣)),(∀𝑧.𝐴(𝑧))𝖣≡∃𝑋∀𝑧,⃗𝑦.𝐴𝖣(𝑋𝑧,⃗𝑦,𝑧),(∃𝑧.𝐴(𝑧))𝖣≡∃𝑧,⃗𝑥∀⃗𝑦.𝐴𝖣(⃗𝑥,⃗𝑦,𝑧),(𝐴→𝐵)𝖣≡∃𝑈,𝑌∀⃗𝑥,⃗𝑣.(𝐴𝖣(⃗𝑥,𝑌⃗𝑥⃗𝑣)→𝐵𝖣(𝑈⃗𝑥,⃗𝑣)). Negation is implication to false, hence (¬𝐴)𝖣≡∃𝑌∀⃗𝑥.¬𝐴𝖣(⃗𝑥,𝑌⃗𝑥). The functional 𝑈 sends a witness for the premise to a witness for the conclusion. The functional 𝑌 sends a premise witness and a challenged conclusion to a challenge against that premise. Forgetting 𝑌 destroys the contravariant information in implication.
★★☆ Compute the full Dialectica interpretations of ∀𝑛∃𝑚.𝑃(𝑛,𝑚)and(∀𝑛∃𝑚.𝑃(𝑛,𝑚))→∃𝑘.𝑄(𝑘), with 𝑃,𝑄 atomic. Give the finite type of every extracted functional. (Half a page.)
Referenced from 3 locations
Soundness for Heyting arithmetic
Let 𝖧𝖠 be first-order intuitionistic arithmetic with equality, zero, successor, primitive-recursive function symbols, and induction for all formulas. Let equational System 𝑇 include quantifier-free propositional reasoning and induction for quantifier-free formulas. This is the exact first-order source/finite-type target pair used in the direct theorem below.
For each arithmetic formula 𝐴, there is a System 𝑇 term 𝜒𝐴 such that the target proves 𝜒𝐴(⃗𝑥,⃗𝑦)=0⟺𝐴𝖣(⃗𝑥,⃗𝑦). Consequently there is a term 𝖢𝗈𝗇𝖽 selecting either of two same-typed values according to a matrix truth value.
Referenced from 3 locations
Proof of Lemma 66.4 — Deciding a matrix
Proof. Induct on the quantifier-free matrix. Equality of natural-number terms is decidable by primitive recursion. Boolean combinations compose their characteristic terms. Define 𝖢𝗈𝗇𝖽 by recursion on its numerical test. No decision procedure for quantified formulas is asserted. ◻
If 𝖧𝖠 ⊢𝐴, then one can compute closed System 𝑇 terms ⃗𝑡 such that the target proves ∀⃗𝑦.𝐴𝖣(⃗𝑡,⃗𝑦).
Referenced from 3 locations
Proof of Theorem 66.5 — Dialectica soundness for HA
Proof. Induct on the 𝖧𝖠 derivation. Atomic equality axioms need no witness. Conjunction introduction pairs the two witness tuples; its eliminations project one tuple. Disjunction introduction supplies tag 0 or 1; elimination combines the branch witnesses with 𝖢𝗈𝗇𝖽. Universal introduction abstracts the source variable into the witness functional, and elimination applies it. Existential introduction pairs the arithmetic witness with the matrix witness; elimination substitutes both into the continuation.
For implication introduction, the induction hypothesis under an assumed witness ⃗𝑥 computes a result witness 𝑈⃗𝑥 and identifies which premise challenge 𝑌⃗𝑥⃗𝑣 suffices for each result challenge ⃗𝑣. These are exactly the two functionals in the implication clause. For modus ponens, suppose ⃗𝑎 realizes 𝐴, while 𝑈,𝑌 realize 𝐴 →𝐵. Instantiate the first matrix at 𝑌⃗𝑎⃗𝑣, and the second at ⃗𝑥 =⃗𝑎; then 𝑈⃗𝑎 realizes 𝐵. Thus the extracted witness is functional application.
Contraction 𝐴 →𝐴 ∧𝐴 duplicates the positive witness. For a pair of challenges, lemma 66.4 and 𝖢𝗈𝗇𝖽 select a challenge on which the required premise matrix would otherwise fail. Weakening ignores an unused witness. Exchange and associativity only rearrange tuples.
For arithmetic induction, assume extracted 𝑎 realizes the base case and extracted step functionals transform a witness at 𝑛 into one at 𝖲𝑛, while translating a challenge backwards. Define the positive witness at 𝑛 by 𝖱 𝑎 𝑔 𝑛. A subordinate primitive recursion threads the final challenge backwards through the preceding stages. Target induction on 𝑛 proves the resulting matrix. The defining equations for the primitive-recursive arithmetic symbols are handled by their System 𝑇 representatives. These cases cover the axiom and rule schemes of the selected presentation of 𝖧𝖠. ◻
The proof is syntax directed and local: cut or modus ponens composes extracted terms rather than globally normalizing the source proof. Avigad and Feferman state this theorem as their Theorem 2.4.1 and spell out modus ponens, contraction, matrix decision, and induction [AF98].
A witness calculated
Let 𝖳𝗋𝗂(𝑛,𝑚) be the primitive-recursive graph of triangular summation. Its defining equations prove 𝖳𝗋𝗂(0,0),𝖳𝗋𝗂(𝑛,𝑚)⟹𝖳𝗋𝗂(𝖲𝑛,𝖲𝑛+𝑚). Heyting arithmetic proves ∀𝑛∃𝑚.𝖳𝗋𝗂(𝑛,𝑚) by induction: choose 0 at the base, and from witness 𝑚 choose 𝖲𝑛 +𝑚 at the step. Because 𝖳𝗋𝗂 is atomic, the Dialectica translation is simply ∃𝐹ℕ→ℕ∀𝑛.𝖳𝗋𝗂(𝑛,𝐹𝑛). Following the soundness induction gives 𝐹=𝗍𝗋𝗂=𝜆𝑛.𝖱ℕ0(𝜆𝑘.𝜆𝑟.𝖺𝖽𝖽(𝖲𝑘)𝑟)𝑛. The earlier reduction calculates 𝐹(3) =6. The target proof also verifies 𝖳𝗋𝗂(3,6); computation alone would not establish the matrix.
The higher-type and classical boundary
The direct argument extends to the intensional, weakly extensional, and type-zero-equality higher-type arithmetics paired with their corresponding targets. It does not directly interpret full 𝐸-𝖧𝖠𝜔. Avigad and Feferman instead describe a formal interpretation of the extensional theory into 𝖧𝖠𝜔0, preserving formulas whose variables have low types, before applying Dialectica [AF98].
Likewise, classical arithmetic first uses a negative translation. Countable choice and the principles needed for classical analysis require stronger functionals, notably bar recursion. That extension is developed separately; it is not a consequence of theorem 66.5.
Seminar and practical
Suggested first pass.
Begin with exercise 66.5; then run exercise 66.7.
★★☆ Explain the variance of 𝑈 and 𝑌 in the implication clause by staging a game between a witness and a challenger. Then give a concrete formula for which deleting 𝑌 loses information. (Half a page.)
Referenced from 4 locations
★★☆ Prepare a boundary ledger with rows for 𝖧𝖠, 𝖧𝖠𝜔0, 𝐸-𝖧𝖠𝜔, classical arithmetic, countable choice, and classical analysis. For each, state whether this chapter gives a direct interpretation, a composed interpretation, or no theorem. Cite the exact construction required in the latter two cases. (One page.)
Referenced from 3 locations
★★★ Practical project.system-t-witness-evaluator The companion artifact system-t-witness-evaluator implements the natural-number fragment of System 𝑇. Add multiplication, run 𝗍𝗋𝗂 3, and add a mutation that uses the predecessor index where its successor is required. Record the Kappa commands and explain which recursor equation the mutation violates. (One page plus code.)
Referenced from 5 locations
Sources and theorem boundary
The finite-type syntax, exact Dialectica clauses, and soundness induction are from Avigad and Feferman [AF98]. The reducibility development is a Tait argument specialized to System 𝑇; Tait’s intensional interpretation is a historical primary source for finite-type proof interpretations [Tai67]. The companion course supplies evaluation and metatheory exercises [Hof24]. Bar-recursive extensions are sourced and proved separately. The extracted witness theorem here is exactly for the selected 𝖧𝖠-to-System-𝑇 translation.