nLab second-order arithmetic



Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory

logiccategory theorytype theory
trueterminal object/(-2)-truncated objecth-level 0-type/unit type
falseinitial objectempty type
proposition(-1)-truncated objecth-proposition, mere proposition
proofgeneralized elementprogram
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
logical conjunctionproductproduct type
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type/path type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
presettype without identity types
completely presented setdiscrete object/0-truncated objecth-level 2-type/set/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels





Second-order arithmetic is a theory of arithmetic dealing with natural numbers and, what makes it “second-order”, sets of natural numbers1. SOA, or Z 2Z_2 as it is often denoted, is proof-theoretically weak in comparison with ZFC, but still strong enough to derive “almost all of undergraduate mathematics” (Friedman).


The language of SOA consists of two sorts, here denoted NN and PNP N, together with

  • A constant 00 of type NN,

  • An unary function symbol s:NNs \colon N \to N,

  • Binary function symbols +,:N×NN+, \cdot \colon N \times N \to N,

  • A binary relation symbol <\lt of type N×NN \times N.

  • A binary relation symbol \in of type N×PNN \times P N.

The axioms of SOA may be divided into two parts: the first part comprises the “first-order axioms” that deal only with the sort NN, and defines which is known as Robinson arithmetic. The second part comprises induction and comprehension schemes that involve the symbol \in.

“First-order” axioms

Omitting the sort PNP N and the symbol \in from the language, the axioms in this section give Robinson arithmetic. The logic throughout is classical first-order (predicate) logic with equality.

For all the formulas in this section, it is tacitly understood that there are universal quantifiers at the heads of formulas, binding all variables which appear freely.

  1. s(m)=0s(m) = 0 \rightarrow \bot.

  2. s(m)=s(n)m=ns(m) = s(n) \rightarrow m = n.

  3. (0=n)( ms(m)=n)(0 = n) \vee (\exists_m s(m) = n).

  4. m+0=mm + 0 = m.

  5. m+s(n)=s(m+n)m + s(n) = s(m+n).

  6. m0=0m \cdot 0 = 0.

  7. ms(n)=(mn)+m]m \cdot s(n) = (m\cdot n)+m].

  8. m<0m \lt 0 \rightarrow \bot.

  9. m<s(n)((m<n)(m=n))m \lt s(n) \leftrightarrow ((m \lt n) \vee (m=n)).

  10. (0=n)(0<n)(0 = n) \vee (0 \lt n).

  11. ((s(m)<n)(s(m)=n))m<n((s(m) \lt n) \vee (s(m) = n)) \leftrightarrow m \lt n.

“Second-order” axioms

Note: according to convention, lower-case letters refer to terms of type NN, and upper-case letters to terms of type PNP N.

  1. Comprehension scheme: for any formula φ\varphi in the language of SOA with free variables m=m 1,,m j\vec{m} = m_1, \ldots, m_j and X=X 1,,X k\vec{X} = X_1, \ldots, X_k,

    mXZn(nZφ(n))\forall \vec{m} \forall \vec{X} \exists Z \forall n (n\in Z \leftrightarrow \varphi(n))

    provided that the variable ZZ does not appear in φ\varphi. (Using alpha-equivalence to rename variables, it's enough that ZZ does not appear free in φ\varphi.)

  2. Full induction scheme: for φ\varphi any formula with a free variable nn and possible remaining free variables m=m 1,,m j\vec{m} = m_1, \ldots, m_j and X=X 1,,X k\vec{X} = X_1, \ldots, X_k,

mX((φ(0)n(φ(n)φ(s(n)))nφ(n)) \forall \vec{m} \forall \vec{X} ((\varphi(0) \wedge \forall n (\varphi(n) \rightarrow \varphi(s(n))) \rightarrow \forall n \varphi(n))

The instance in the full induction scheme where φ\varphi is the formula nXn \in X is called simply the induction axiom. The induction axiom together with the comprehension scheme implies the full induction scheme.

Subsystems of SOA

The theory described above gives full second-order arithmetic. However, in reverse mathematics, one often studies subsystems of weaker proof-theoretic strength than SOA, by limiting in some way the comprehension scheme (often also beefing up the single induction axiom with more instances of the induction scheme, to offset the weakening). The main examples are given in Wikipedia; a standard reference is Simpson.

Many important subsystems for SOA have been the subject of an ordinal analysis.

Another important subsystem is intuitionistic second-order arithmetic, or second-order Heyting arithmetic. Here, we use intuitionistic logic rather than classical logic as the underlying first-order logic. In a subsystem without the induction axiom, we must add axioms stating that equality and order are decidable?:

  • (m=n)((m=n))(m = n) \vee ((m = n) \rightarrow \bot);

  • (m<n)((m<n))(m \lt n) \vee ((m \lt n) \rightarrow \bot).

Full (classical) SOA may be recovered from intuitionistic SOA by adding a similar axiom that set membership is decidable; in a subsystem without the comprehension scheme, this needs to be strengthened to an axiom scheme that every proposition (with any free variables) is true or false (effectively making the logic classical again).


  • Wikipedia Second order arithmetic

  • Harvey Friedman’s Home Page

  • Stephen G. Simpson, Subsystems of second order arithmetic, Perspectives in Logic (2nd ed.), Cambridge University Press (2009) (pdf)

  1. The logic that governs the language and theory of Z 2Z_2 is ordinary (first-order) predicate logic. The “second-order” aspect is really in the models, where one interprets the symbol \in as membership in a background set theory, i.e., terms of type PNP N are interpreted as subsets of the set that interprets the type NN, and an extensionality axiom is in force. A full model is where PNP N is interpreted as the full power set of NN. When one sees absoluteness assertions such as “there is only one (full) model of SOA up to isomorphism,” it should be clear that this is meant with regard to a given background set theory. Cf. the fact that while there is, up to isomorphism, at most one natural numbers object \mathbb{N} in a given topos, the set of global elements Γ()\Gamma(\mathbb{N}) might contain “non-standard elements” as viewed against the background SetSet.

Last revised on December 3, 2019 at 12:21:51. See the history of this page for a list of all contributions to it.