Kleene's original version of realizability uses natural numbers as realizers for formulas in Heyting arithmetic. A few pieces of notation are required: first, an ordered pair (n,m) is treated as a single number using a fixed primitive recursive pairing function; second, for each natural number n, φn is the computable function with index n. The following clauses are used to define a relation "n realizes A" between natural numbers n and formulas A in the language of Heyting arithmetic, known as Kleene's 1945-realizability relation:2
With this definition, the following theorem is obtained:3
On the other hand, there are classical theorems (even propositional formula schemas) that are realized but which are not provable in HA, a fact first established by Rose.4 So realizability does not exactly mirror intuitionistic reasoning.
Further analysis of the method can be used to prove that HA has the "disjunction and existence properties":5
More such properties are obtained involving Harrop formulas.
Kreisel introduced modified realizability, which uses typed lambda calculus as the language of realizers. Modified realizability is one way to show that Markov's principle is not derivable in intuitionistic logic. On the contrary, it allows to constructively justify the principle of independence of premise:
Relative realizability6 is an intuitionist analysis of computable or computably enumerable elements of data structures that are not necessarily computable, such as computable operations on all real numbers when reals can be only approximated on digital computer systems.
Classical realizability was introduced by Krivine7 and extends realizability to classical logic. It furthermore realizes axioms of Zermelo–Fraenkel set theory. Understood as a generalization of Cohen’s forcing, it was used to provide new models of set theory.8
Linear realizability extends realizability techniques to linear logic. The term was coined by Seiller9 to encompass several constructions, such as geometry of interaction models,10 ludics,11 interaction graphs models.12
Realizability is one of the methods used in proof mining to extract concrete "programs" from seemingly non-constructive mathematical proofs. Program extraction using realizability is implemented in some proof assistants such as Coq.
van Oosten 2000 ↩
A. Ščedrov, "Intuitionistic Set Theory" (pp.263--264). From Harvey Friedman's Research on the Foundations of Mathematics (1985), Studies in Logic and the Foundations of Mathematics vol. 117. ↩
van Oosten 2000, p. 7 ↩
Rose 1953 ↩
van Oosten 2000, p. 6 ↩
Birkedal 2000 ↩
Krivine, Jean-Louis (2001). "Typed lambda-calculus in classical Zermelo-Fraenkel set theory". Archive for Mathematical Logic. 40 (2): 189–205. /wiki/Archive_for_Mathematical_Logic ↩
Krivine, Jean-Louis (2011). "Realizability algebras: a program to well order R". Logical Methods in Computer Science. 7. /wiki/Logical_Methods_in_Computer_Science ↩
Seiller, Thomas (2024). Mathematical Informatics (Habilitation thesis). Université Sorbonne Paris Nord. https://theses.hal.science/tel-04616661 ↩
Girard, Jean-Yves (1989). "Geometry of interaction 1: Interpretation of System F". Studies in Logic and the Foundations of Mathematics. 127: 221–260. ↩
Girard, Jean-Yves (2001). "Locus Solum: from the rules of logic to the logic of rules". Mathematical Structures in Computer Science. 11: 301–506. ↩
Seiller, Thomas (2016). "Interaction graphs: Full linear logic". Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science. /wiki/Symposium_on_Logic_in_Computer_Science ↩