Eecient Recursive Subtyping

Subtyping in the presence of recursive types for the calculus was studied by Amadio and Cardelli in In that paper they showed that the problem of deciding whether one recursive type is a subtype of another is decidable in exponential time In this paper we give an O n algorithm Our algorithm is based on a simpli cation of the de nition of the subtype relation which allows us to reduce the problem to the emptiness problem for a certain nite automaton with quadratically many states It is known that equality of recursive types and the covariant B ohm order can be decided e ciently by means of nite automata since they are just language equality and language inclusion respectively Our results extend the automata theoretic approach to handle orderings based on contravariance

[1]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[2]  Bruno Courcelle,et al.  Fundamental Properties of Infinite Trees , 1983, Theor. Comput. Sci..

[3]  Luca Cardelli. Amber Combinators and Functional Programming Languages , 1985, Lecture Notes in Computer Science.

[4]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[5]  Satish R. Thatte,et al.  Type Inference with Partial Types , 1988, Theor. Comput. Sci..

[6]  Luca Cardelli,et al.  Typeful Programming , 1989, Formal Description of Programming Concepts.

[7]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[8]  Mitchell Wand,et al.  Type Inference for Partial Types is Decidable , 1992, ESOP.

[9]  Jens Palsberg,et al.  Efficient inference of partial types , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[10]  Jens Palsberg,et al.  Efficient recursive subtyping , 1992, POPL '93.