natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
In logic, decidable refers to the question of whether there is an effective method for deciding membership in a set of formulas (or judgments in type theory). Here we take an effective method to be given by any of the equivalent formal characterizations (general recursion?, Turing machines, lambda calculus) that according to the Church-Turing thesis capture the informal notion.
Sometimes decidable is also used in another sense, namely that of independent statement?, according to which a logical theory decides a formula if it proves the formula or its negation (see at decidable proposition), and according to which a formula is undecidable (independent) if the theory in question proves neither the formula nor its negation. This is the sense in which the continuum hypothesis is undecidable from the axioms of ZFC and in which the consistency statement? of a sufficiently strong, recursively enumerated theory is undecidable in (independent of) that theory, according to Gödel’s second incompleteness theorem?. To avoid confusion, the preferred term to use here is independent?.
A logical system is decidable if there is an algorithm deciding whether a given formula is a theorem of the system.
In this sense, propositional logic and monadic predicate logic? are decidable, whereas first-order logic and higher-order logic are undecidable
A theory is a set of formulas closed under logical consequence (in some logical system, usually first order logic with a given signature). A theory is decidable if there is an algorithm (effective method) deciding whether a formula is a member of the theory of not. In the usual case where the theory is presented from a list of axioms, the question is whether the formula is deducible from the axioms.
Examples of decidable theories include:
Examples of undecidable theories include:
Type theory gives rise a number of decision problems, and it is generally desirable that these are solvable.
Type checking? refers to the problem whether the judgment $\Gamma\vdash a : A$ is derivable in a given type theory. For instance, intensional type theory has decidable type checking, but extensional type theory, which adds the rule of equality reflection?, does not. For an exposition of this result, see the thesis of Hofmann.
In more expressive type theories, we can also ask whether judgmental equality (also called computational or definitional equality) is decidable. Since deciding the judgmental equality is often a prerequisite for deciding type checking, systems with decidable type checking often have decidable judgmental equality.
Typeability? refers to the problem of deciding for a given term whether it inhabits some type. Simple type theory has decidable typeability, and the programming language ML?, which features a weak form of polymorphism, let polymorphism?, also has decidable typeability.
dependent type theory has undecidable typeability.
Type inhabitation? refers to the problem of deciding for a given type whether there is a term that inhabits it. Under the propositions-as-types correspondence, this incorporates the question of the decidability of the corresponding logic since a proposition is provable if and only if the the type of its proofs is inhabited.
For simple type theory, type inhabitation is decidable, whereas it is undecidable for dependent type theory.
decidability
Wikipedia, Decidablility (logic)
Martin Hofmann, Extensional concepts in intensional type theory, Ph.D. dissertation, University of Edinburgh (1995). (link)