In type theory, a branch of mathematical logic, in a given typed calculus, the type inhabitation problem for this calculus is the following problem: given a type and a typing environment , does there exist a -term M such that ? With an empty type environment, such an M is said to be an inhabitant of .
Relationship to logic
In the case of simply typed lambda calculus, a type has an inhabitant if and only if its corresponding proposition is a tautology of minimal implicative logic. Similarly, a System F type has an inhabitant if and only if its corresponding proposition is a tautology of second-order logic.
For most typed calculi, the type inhabitation problem is very hard. Richard Statman proved that for simply typed lambda calculus the type inhabitation problem is PSPACE-complete. For other calculi, like System F, the problem is even undecidable.
- Pawel Urzyczyn (1997). "Inhabitation in Typed Lambda-Calculi (A Syntactic Approach)" (PDF). Lecture Notes in Computer Science. Springer: 373–389.
|This programming language theory or type theory-related article is a stub. You can help Wikipedia by expanding it.|