Abstract
In intuitionistic realizability like Kleene's or Kreisel's, the axiom of choice is trivially realized. It is even provable in Martin-Löf's intuitionistic type theory. In classical logic, however, even the weaker axiom of countable choice proves the existence of non-computable functions. This logical strength comes at the price of a complicated computational interpretation which involves strong recursion schemes like bar recursion. We take the best from both worlds and define a realizability model for arithmetic and the axiom of choice which encompasses both intuitionistic and classical reasoning. In this model two versions of the axiom of choice can co-exist in a single proof: intuitionistic choice and classical countable choice. We interpret intuitionistic choice efficiently, however its premise cannot come from classical reasoning. Conversely, our version of classical choice is valid in full classical logic, but it is restricted to the countable case and its realizer involves bar recursion. Having both versions allows us to obtain efficient extracted programs while keeping the provability strength of classical logic.
Highlights
Realizability appeared in [16] as a formal account of the BrouwerHeyting-Kolmogorov interpretation of logic, leading to the CurryHoward isomorphism between intuitionistic proofs and purely functional programs
If in the same proof some classical reasoning is performed on another existential formula, that existential must be weak, and while we can still use the axiom of countable choice on it, its computational interpretation is given by bar recursion and can involve a costly recursion
We have a different goal and achieve it by following a different path: we keep the full power of strong existentials and use bar recursion to computationally interpret the classical axiom of countable choice with weak existentials
Summary
Realizability appeared in [16] as a formal account of the BrouwerHeyting-Kolmogorov interpretation of logic, leading to the CurryHoward isomorphism between intuitionistic proofs and purely functional programs. If in the same proof some classical reasoning is performed on another existential formula, that existential must be weak, and while we can still use the axiom of countable choice on it, its computational interpretation is given by bar recursion and can involve a costly recursion. We have a different goal and achieve it by following a different path: we keep the full power of strong existentials (and their simple computational interpretation) and use bar recursion to computationally interpret the classical axiom of countable choice with weak existentials.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have