Contexts extend by variables or by fresh literal names. Restriction removes the selected name and every later variable, while retaining later fresh-name declarations: 𝑋Γ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒ΓR−HereΓ𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒Γ′Γ;𝖿𝗋𝖾𝗌𝗁𝑏:𝛽𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒Γ′;𝖿𝗋𝖾𝗌𝗁𝑏:𝛽R−NameΓ𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒Γ′Γ,𝑥:𝐴𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒Γ′R−Var. The name type, fresh-name type former, and literal-name variable rule are
𝛼:𝗇𝖺𝗆𝖾∈Σ
Γ⊢𝛼:𝗍𝗒𝗉𝖾
Name-Type
𝛼:𝗇𝖺𝗆𝖾∈ΣΓ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼⊢𝐵:𝗍𝗒𝗉𝖾
Γ⊢𝖭𝑎:𝛼.𝐵:𝗍𝗒𝗉𝖾
New-Type
𝑎:𝛼∈Γ
Γ⊢𝑎:𝛼
Name
Name abstraction and concretion are Γ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼⊢𝑀:𝐵Γ⊢⟨𝑎:𝛼⟩𝑀:𝖭𝑎:𝛼.𝐵Name−AbsΓ𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑏:𝛼⇒Γ′Γ′⊢𝑀:𝖭𝑎:𝛼.𝐵Γ⊢𝑀@𝑏:𝐵[𝑏/𝑎]Concretion. Name substitutions retain the restriction premise:
Δ𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑏:𝛼⇒Δ′Δ′⊢𝜃:Γ
Δ⊢(𝜃,𝑏/𝑎):Γ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼
Sub-Name
Their definitional equations are name beta and fresh-name eta; the latter has the full form
Γ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼⊢𝑀@𝑎=𝑁@𝑎:𝐵
Γ⊢𝑀=𝑁:𝖭𝑎:𝛼.𝐵
Name-Eta
Algorithmic equality erases Π to arrows and 𝖭 to name-abstraction simple types. Its name-specific rules are
𝑎:𝛼∈Δ
Δ⊢𝑎↔𝑎:𝛼
Alg-Name
Δ𝗋𝖾𝗌𝗍𝗋𝗂𝖼𝗍𝑎:𝛼⇒Δ′Δ′⊢𝑀↔𝑁:[𝛼]𝜏
Δ⊢𝑀@𝑎↔𝑁@𝑎:𝜏
Alg-Conc
Δ;𝖿𝗋𝖾𝗌𝗁𝑎:𝛼⊢𝑀@𝑎⟺𝑁@𝑎:𝜏
Δ⊢𝑀⟺𝑁:[𝛼]𝜏
Alg-New-Ext
Its completeness proof uses the chapter’s Kripke logical relation.
Chapter 65: classical simple type theory
The frozen HOL core has inhabited types generated by 𝛼,𝖻𝗈𝗈𝗅,𝗂𝗇𝖽,→, simply typed lambda terms, polymorphic equality and choice. Its primitive theorem rules are
⊢𝑡=𝑡
REFL
Γ⊢𝑠=𝑡Δ⊢𝑡=𝑢
Γ∪Δ⊢𝑠=𝑢
TRANS
Γ⊢𝑓=𝑔Δ⊢𝑥=𝑦
Γ∪Δ⊢𝑓𝑥=𝑔𝑦
COMB
Γ⊢𝑠=𝑡𝑥∉FV(Γ)
Γ⊢(𝜆𝑥.𝑠)=(𝜆𝑥.𝑡)
ABS
⊢(𝜆𝑥.𝑡)𝑥=𝑡
BETA
{𝑝}⊢𝑝
ASSUME
Γ⊢𝑝=𝑞Δ⊢𝑝
Γ∪Δ⊢𝑞
EQ-MP
Γ⊢𝑝Δ⊢𝑞
(Γ∖{𝑞})∪(Δ∖{𝑝})⊢𝑝=𝑞
DEDUCT-ANTISYM
Γ⊢𝑝
𝜃Γ⊢𝜃𝑝
INST
Γ⊢𝑝
𝜌Γ⊢𝜌𝑝
INST-TYPE
The selected closed axioms are eta, selection, and infinity. Classical connectives, quantifiers, functional extensionality, and propositional extensionality are derived at this signature; they are not extra unlisted kernel constructors.
Constant definition requires a fresh name, a closed right-hand side, and no right-hand-side type variable absent from the declared type. Type definition requires a theorem that the representing predicate is nonempty. Its abstraction and representation equations characterize precisely that nonempty subset.
Chapter 66: System T and Dialectica
System 𝑇 has finite types ℕ and 𝜎→𝜏, with 𝖱𝜎:𝜎→(ℕ→𝜎→𝜎)→ℕ→𝜎,𝖱𝜎𝑎𝑔0⟶𝑎,𝖱𝜎𝑎𝑔(𝖲𝑛)⟶𝑔𝑛(𝖱𝜎𝑎𝑔𝑛). For 𝐴𝖣=∃⃗𝑥∀⃗𝑦.𝐴𝖣 and 𝐵𝖣=∃⃗𝑢∀⃗𝑣.𝐵𝖣, the critical clause is (𝐴→𝐵)𝖣=∃𝑈,𝑌∀⃗𝑥,⃗𝑣.(𝐴𝖣(⃗𝑥,𝑌⃗𝑥⃗𝑣)→𝐵𝖣(𝑈⃗𝑥,⃗𝑣)). Conjunction concatenates witness and challenge tuples; a disjunction adds a numerical tag; universal quantification extracts a witness function; and existential quantification extracts the quantified object with its matrix witness.