In mathematical logic, realizability is a collection of methods in proof theory used to study constructive proofs and extract additional information from them. Formulas from a formal theory are "realized" by objects, known as "realizers", in a way that knowledge of the realizer gives knowledge about the truth of the formula. There are many variations of realizability; exactly which class of formulas is studied and which objects are realizers differ from one variation to another. Realizability can be seen as a formalization of the BHK interpretation of intuitionistic logic; in realizability the notion of "proof" is replaced with a formal notion of "realizer". Most variants of realizability begin with a theorem that any statement that is provable in the formal system being studied is realizable. The realizer, however, usually gives more information about the formula than a formal proof would directly provide. Beyond giving insight into intuitionistic provability, realizability can be applied to prove the disjunction and existence properties for intuitionistic theories and to extract programs from proofs, as in proof mining. It is also related to topos theory via the realizability topos.
A number n realizes an atomic formulas=tif and only ifs=t is true. Thus every number realizes a true equation, and no number realizes a false equation.
A pair realizes a formula A∧B if and only ifn realizes A and m realizes B. Thus a realizer for a conjunction is a pair of realizers for the conjuncts.
A pair realizes a formula A∨B if and only if the following hold: n is 0 or 1; and if n is 0 then m realizes A; and if n is 1 then m realizes B. Thus a realizer for a disjunction explicitly picks one of the disjuncts and provides a realizer for it.
A number n realizes a formula A→B if and only if, for every m that realizes A, φn realizes B. Thus a realizer for an implication is a computable function that takes a realizer for the hypothesis and produces a realizer for the conclusion.
A pair realizes a formula A if and only if m is a realizer for A. Thus a realizer for an existential formula produces an explicit witness for the quantifier along with a realizer for the formula instantiated with that witness.
A number n realizes a formula A if and only if, for all m, φn is defined and realizes A. Thus a realizer for a universal statement is a computable function that produces, for each m, a witness for the formula instantiated with m.
With this definition, the following theorem is obtained: On the other hand, there are formulas that are realized but which are not provable in HA, a fact first established by Rose. Further analysis of the method can be used to prove that HA has the "disjunction and existence properties":
If HA proves a sentence A, then there is an n such that HA proves A
If HA proves a sentence A∨B, then HA proves A or HA proves B.
Later developments
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 realizability is an intuitionist analysis of recursive or recursively 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.
Applications
Realizability is one of the methods used in proof mining to extract concrete "programs" from seemingly nonconstructive mathematical proofs. Program extraction using realizability is implemented in some proof assistants such as Coq.