Rank 3 Inhabitation of Intersection Types Revisited (Extended Version)
Andrej Dudenhefner, Jakob Rehof

TL;DR
This paper strengthens the undecidability results of rank 3 intersection type inhabitation by showing it remains undecidable at order 3 and clarifies the principles needed for simulating Turing machines directly, offering a more concise construction.
Contribution
It proves that intersection type inhabitation is undecidable for types of rank 3 and order 3, and provides a clearer, more direct simulation of Turing machine computation.
Findings
Undecidability of rank 3 intersection type inhabitation at order 3
A more concise construction for simulating Turing machines
Insights into the expressiveness of intersection type inhabitation
Abstract
We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn 2009) in pursuit of two goals. First, we strengthen the previous result by showing that intersection type inhabitation is undecidable for types of rank 3 and order 3, i.e. it is not necessary to introduce new functional dependencies (new instructions) during proof search. Second, we pinpoint the principles necessary to simulate Turing machine computation directly, whereas previous constructions used a highly parallel and non-deterministic computation model. Since our construction is more concise than existing approaches taking no detours, we believe that it is valuable for a better understanding of the expressiveness of intersection type inhabitation.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Computability, Logic, AI Algorithms · Logic, Reasoning, and Knowledge
11institutetext: Technical University of Dortmund, Dortmund, Germany
11email: {andrej.dudenhefner, jakob.rehof}@cs.tu-dortmund.de
Rank 3 Inhabitation of Intersection Types Revisited (Extended Version)111Based on: TYPES 2016, Types for Proofs and Programs – 22nd Meeting, Novi Sad, Serbia, 2016, pp. 29–30.
Andrej Dudenhefner 11
Jakob Rehof 11
Abstract
We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn 2009) in pursuit of two goals. First, we strengthen the previous result by showing that intersection type inhabitation is undecidable for types of rank and order 3, i.e. it is not necessary to introduce new functional dependencies (new instructions) during proof search. Second, we pinpoint the principles necessary to simulate Turing machine computation directly, whereas previous constructions used a highly parallel and non-deterministic computation model. Since our construction is more concise than existing approaches taking no detours, we believe that it is valuable for a better understanding of the expressiveness of intersection type inhabitation.
0.1 Introduction
Intersection types capture deep semantic properties of -terms such as normalization and were subject to extensive study for decades [1]. Due to their expressive power, intersection type inhabitation (given a type, does there exist a term having the type?) is undecidable in standard intersection type systems [2].
Urzyczyn showed in 2009 [5] that restricted to rank 2 intersection type inhabitation is exponential space complete and is undecidable for rank 3 and up. Later, Salvati et al. discovered the equivalence of intersection type inhabitation and -definability [4], which further improved our understanding of the expressiveness of intersection types.
One can take several routes in order to show undecidability of intersection type inhabitation (abbreviated by IHP, resp. IHP3 for rank 3). In [1] the following reduction is performed: EQA ETW WTG IHP, where EQA is the emptiness problem for queue automata, ETW is the emptiness problem for typewriter automata and WTG is the problem of determining whether one can win a tree game. A different route taken in [5] performs the following reduction: ELBA SSTS1 HETM IHP3, where ELBA is the emptiness problem for linear bounded automata, SSTS1 is the problem of deciding whether there is a word that can be rewritten to 1s in a simple semi-Thue system and HETM is the halting problem for expanding tape machines. Alternatively, following the route of [4] via semantics, the following reduction can be performed: WSTS LDF IHP3, where WSTS is the word problem in semi-Thue systems and LDF is the -definability problem. Each of these routes introduces its own machinery that may distract from the initial question. As a result, it is challenging to even give examples of particularly hard inhabitation problem instances, or distinguish necessary properties on a finer scale than the rank restriction.
In this work (cf. Section 0.3), we reduce the halting problem for Turing machines to intersection type inhabitation directly. In particular, we show how arbitrary Turing machine computations can be directly simulated using proof search. Additionally (Section 0.4), we outline the simplest construction (to date) to show undecidability of rank 3 inhabitation using simple semi-Thue systems. The main benefit of presented approaches is their corresponding accessibility and simplicity.
0.2 Preliminaries
We briefly assemble the necessary prerequisites in order to discuss inhabitation in the intersection type system. -terms (cf. Definition 1) are denoted by and intersection types (cf. Definition 2) are denoted by , while type atoms are denoted by and drawn from the denumerable set . The intersection operator binds stronger than and is assumed to be idempotent, commutative and associative. The rules of the considered intersection type system (also used in [5]) are given in Definition 3.
Definition 1** (-Terms).**
**
Definition 2** (Intersection Types).**
**
Definition 3** (Intersection Type System).**
[TABLE]
After Leivant [3] we define the rank and the order of a type.
Definition 4** (Rank).**
[TABLE]
Definition 5** (Order).**
[TABLE]
Example 1**.**
Let . We have and . Note that types that are similar to are used in [5] to encode expanding tape machine switches.
Problem 1** (Intersection Type Inhabitation).**
Given a type , is there a -term such that ?
0.3 Turing Machine Simulation
The undecidability proof in [5] reduces emptiness of linear bounded automata to a word existence problem in simple semi-Thue systemd to halting of expanding tape machines to inhabitation of an intersection type with and . In [5] order of is necessary to hide and restore a word on the tape of the machine by introducing new instructions. In this section, we reduce the halting problem to inhabitation of an intersection type with . For this purpose, fix a Turing machine , where
- •
is the finite, non-empty set of tape symbols
- •
is the finite, non-empty set of states
- •
is the initial state
- •
is the final state
- •
is the transition function
Let denote disjoint union. We define the set of type atoms
[TABLE]
In the first part of our construction, we capture computation of using the following types:
[TABLE]
Intuitively, the defined types are used to achieve following goals
- •
represents that is at the position containing in state
- •
(left, right) mark neighboring cells while other cells are marked by
- •
recognizes whether an accepting state is reached
- •
transforms the state according to
Let us abbreviate .
Lemma 1**.**
Given , and we have is accepting in using at most tape cells iff there exists a term such that and for , where
- •
**
- •
**
- •
* for *
- •
**
Proof.
By construction and for . Intuitively, this property is used to identify “neighboring” contexts.
“”****: Assume is accepting in using at most tape cells. If , then for and . To capture computation, we represent the transition with and by the term with
[TABLE]
Similarly, we represent the transition with and by the term with
[TABLE]
Given a sequence of configurations for some and let . By induction on we have for and .
“”****: Assume for and for some term in beta normal form (cf. [2]). We show that is accepting by induction on the structure of . Due to , we have three possible cases:
Case 1:
. Therefore, and is accepting.
Case 2:
with . We have
[TABLE]
By the induction hypothesis is accepting in using at most tape cells. Therefore, is accepting in using at most tape cells.
Case 3:
with . We have
[TABLE]
By the induction hypothesis is accepting in using at most tape cells. Therefore, is accepting in using at most tape cells.
∎
In the second part of our construction we create the particular inhabitation problem to apply Lemma 1. The main idea is to use a technique similar to the encoding of expansion in expanding tape machines [5]. However, instead of introducing new functional dependencies (new machine instructions in the sense of [5]) it is sufficient to introduce type atoms that link neighboring judgements. We define the following types:
[TABLE]
Note that is the space symbol. Again, let us develop an intuition for the defined types:
- •
marks the first, \$$ the last, #*$ all other cells during tape expansion
- •
is used for tape expansion at its end
- •
initializes to the state and the empty tape replacing $\circ,*,#,$$ marks
Observe that .
Lemma 2**.**
There exists a term such that iff there exists an and a term such that and for where
- •
**
- •
**
- •
* for *
- •
**
Proof.
To improve accessibility of the proof, we visualize necessary/sufficient steps (according to the inhabitation algorithm given in [5]) to prove . A node states that is inhabited in the context described by the union of edge labels along the path from to the root. Additionally, at each level of the tree the shape of inhabitants (which have to be identical due to the nature of ) is ascribed on the left. The inhabitant is therefore the composition of the ascriptions.
{\lambda(\Gamma).(\_):}$${\tau_{\star}}$${\lambda y_{1}.(\_):}$${(l\to\circ)\cap(r\to\#)\cap(\bullet\to\)}{\circ}{$}{\bullet\to\circ}{(r\to#)\cap(\bullet\to$)}{\circ}{#}{\lambda y_{3}.(_):}{\bullet\to*}{(r\to#)\cap(\bullet\to$)}{\circ}{*}{$}{\ldots}{\ldots}{\ldots}y_{1}:ly_{1}:\bullety_{2}:ly_{2}:\bullety_{3}:\bullety_{3}:r$$y_{3}:\bullet$
First, the variables in and are abstracted. Next follows an arbitrary number of applications in combination with an abstraction, that increments the current width of the tree. Intuitively, is used to mark the first context; \$$ is used to mark the last context; #y_{i}:ry_{i+1}:l$.
{x_{0}\,(\_):}$${\circ}$${*}$${\ldots}$${*}$${\#}$${\}{\bullet\to\langle q_{0},\text{\textvisiblespace}\rangle}{\ldots}{l\to\text{\textvisiblespace}}{N:}{\langle q_{0},\text{\textvisiblespace}\rangle}$␣${\ldots}$␣␣␣$y_{n-1}:\bullety_{n-1}:\bullety_{n-1}:l$$y_{n-1}:r$
Finally, an application of in combination with one abstraction of , where is the current width of the tree, produces exactly and for , that can be verified inductively reading the edge labels along the path to the root.
Using the presented tree, we sketch the proof as follows.
“”****: If is inhabited, then we can read the tree from the root to the leaves to get necessary conditions and for for some term .
“”****: If and for , then we can read the tree from leaves to the root to get the sufficient condition, namely the inhabitant , such that . ∎
Theorem 1**.**
Intersection type inhabitation (Problem 1) is undecidable in rank and order .
Proof.
Adding and to all contexts does not invalidate Lemma 1 because and work on the special atoms and \$$. Therefore, by Lemma [2](#Thmlemma2) and Lemma [1](#Thmlemma1) we have that \tau_{\star}T$ accepts the empty word. ∎
0.4 Simple Semi-Thue System Simulation
The undecidability result in Section 0.3 is of didactic interest because it shows how Turing machine computation can be simulated by proof search directly. If one is only interested in minimal requirements for undecidability, then it is helpful to consider simple semi-Thue systems.
Definition 6** (Simple Semi-Thue System).**
A semi-Thue system over an alphabet , where each rule has the form , for some , is called a simple semi-Thue system.
Problem 2**.**
Given a simple semi-Thue system , is there an such that ?
Lemma 3**.**
Problem 2 is undecidable.
Proof.
Reduction from the empty word halting problem for Turing machines. Turing machine computation requires at each step the modification of two neighboring cells. The unknown parameter corresponds to the required tape length. ∎
Given a simple semi-Thue system over an alphabet with \bullet,*,\#,\,l,r\not\in\Sigmawe (similarly to Section [0.3](#Ch0.S3)) construct the following types of rank and order at most3$:
[TABLE]
Lemma 4**.**
The type is inhabited iff there exists an such that .
Proof.
The argumentation is the same as in the proofs of Lemma 2 and Lemma 1. The type is used for initial expansion; is used for initialization; for transition for ; and for termination. ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] H. P. Barendregt, W. Dekkers, and R. Statman. Lambda Calculus with Types . Perspectives in Logic, Cambridge University Press, 2013.
- 2[2] S. Ghilezan. Strong Normalization and Typability with Intersection Types. Notre Dame Journal of Formal Logic , 37(1):44–52, 1996. doi:10.1305/ndjfl/1040067315 . · doi ↗
- 3[3] D. Leivant. Polymorphic Type Inference. In POPL 1983, Proceedings of the 10th ACM Symposium on Principles of Programming Languages , pages 88–98, 1983. doi:10.1145/567067.567077 . · doi ↗
- 4[4] S. Salvati, G. Manzonetto, M. Gehrke, and H. P. Barendregt. Urzyczyn and Loader are logically related. In ICALP 2012, Proceedings of Automata, Languages, and Programming - 39th International Colloquium , volume 7392 of LNCS , pages 364–376. Springer, 2012. doi:10.1007/978-3-642-31585-5_34 . · doi ↗
- 5[5] P. Urzyczyn. Inhabitation of Low-Rank Intersection Types. In TLCA 2009, Proceedings of Typed Lambda Calculus and Applications , volume 5608 of LNCS , pages 356–370. Springer, 2009. doi:10.1007/978-3-642-02273-9_26 . · doi ↗
