Oracle Computability and Turing Reducibility in the Calculus of
  Inductive Constructions
Yannick Forster Dominik Kirst Niklas Mück
We develop synthetic notions of oracle computability and Turing reducibility
in the Calculus of Inductive Constructions (CIC), the constructive type theory
underlying the Coq proof assistant. As usual in synthetic approaches, we employ
a definition of oracle computations based on meta-level functions rather than
object-level models of computation, relying on the fact that in constructive
systems such as CIC all definable functions are computable by construction.
Such an approach lends itself well to machine-checked proofs, which we carry
out in Coq.
  There is a tension in finding a good synthetic rendering of the higher-order
notion of oracle computability. On the one hand, it has to be informative
enough to prove central results, ensuring that all notions are faithfully
captured. On the other hand, it has to be restricted enough to benefit from
axioms for synthetic computability, which usually concern first-order objects.
Drawing inspiration from a definition by Andrej Bauer based on continuous
functions in the effective topos, we use a notion of sequential continuity to
characterise valid oracle computations.
  As main technical results, we show that Turing reducibility forms an upper
semilattice, transports decidability, and is strictly more expressive than
truth-table reducibility, and prove that whenever both a predicate $p$ and its
complement are semi-decidable relative to an oracle $q$, then $p$
Turing-reduces to $q$.