The first-order theory of subtyping constraints

We investigate the first-order of subtyping constraints. We show that the first-order theory of non-structural subtyping is undecidable, and we show that in the case where all constructors are either unary or nullary, the first-order theory is decidable for both structural and non-structural subtyping. The decidability results are shown by reduction to a decision problem on tree automata. This work is a step towards resolving long-standing open problems of the decidability of entailment for non-structural subtyping.

[1]  Fritz Henglein,et al.  Constraint Automata and the Complexity of Recursive Subtype Entailment , 1998, ICALP.

[2]  Alexander Aiken,et al.  Soft typing with conditional types , 1994, POPL '94.

[3]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[4]  Ralf Treinen,et al.  Ordering Constraints on Trees , 1994, CAAP.

[5]  François Pottier,et al.  Simplifying Subtyping Constraints: A Theory , 2001, Inf. Comput..

[6]  John C. Mitchell,et al.  Type inference with simple subtypes , 1991, Journal of Functional Programming.

[7]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[8]  Viktor Kuncak,et al.  Structural subtyping of non-recursive types is decidable , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

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

[10]  François Pottier,et al.  Simplifying subtyping constraints , 1996, ICFP '96.

[11]  Jens Palsberg,et al.  A type system equivalent to flow analysis , 1995, TOPL.

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

[13]  Fritz Henglein,et al.  The complexity of subtype entailment for simple types , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[14]  Martin Odersky,et al.  Pizza into Java: translating theory into practice , 1997, POPL '97.

[15]  Jakob Rehof,et al.  The complexity of simple subtyping systems , 1998, Technical report / University of Copenhagen / Datalogisk institut.

[16]  Manuel Fähndrich,et al.  Making Set-Constraint Based Program Analyses Scale , 1996 .

[17]  Olin Shivers,et al.  Control flow analysis in scheme , 1988, PLDI '88.

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

[19]  Jens Palsberg,et al.  Object-oriented type inference , 1991, OOPSLA '91.

[20]  Jens Palsberg,et al.  Optimal Representations of Polymorphic Types with Subtyping (Extended Abstract) , 1997, TACS.

[21]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Presburger Arithmetic Constraints (Extended Abstract) , 1995, SAS.

[22]  Ralf Treinen,et al.  A New Method for Undecidability Proofs of First Order Theories , 1990, FSTTCS.

[23]  Nevin Heintze,et al.  Set-based analysis of ML programs , 1994, LFP '94.

[24]  Michael J. Maher Complete axiomatizations of the algebras of finite, rational and infinite trees , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[25]  Hubert Comon-Lundh,et al.  Solving Symbolic Ordering Constraints , 1990, Int. J. Found. Comput. Sci..

[26]  Manuel Fähndrich,et al.  Making Set-Constraint Program Analyses Scale , 1996 .

[27]  K. N. Venkataraman,et al.  Decidability of the purely existential fragment of the theory of term algebras , 1987, JACM.

[28]  L. Mordell,et al.  Diophantine equations , 1969 .

[29]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[30]  Philip Wadler,et al.  A practical subtyping system for Erlang , 1997, ICFP '97.

[31]  Matthias Felleisen,et al.  Catching bugs in the web of program invariants , 1996, PLDI '96.

[32]  Emil L. Post A variant of a recursively unsolvable problem , 1946 .

[33]  Bjarne Steensgaard,et al.  Points-to analysis in almost linear time , 1996, POPL '96.

[34]  Michael A. Ivanov Diophantine equations , 2004 .

[35]  Joachim Niehren,et al.  Entailment of Non-structural Subtype Constraints , 1999, ASIAN.

[36]  Hubert Comon-Lundh,et al.  Diophantine Equations, Presburger Arithmetic and Finite Automata , 1996, CAAP.

[37]  Scott F. Smith,et al.  Subtyping Constrained Types , 1996, SAS.

[38]  Jens Palsberg,et al.  Optimal Representations of Polymorphic Types with Subtyping , 1999, High. Order Symb. Comput..

[39]  Joachim Niehren,et al.  Entailment of atomic set constraints is PSPACE-complete , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[40]  Alexander Aiken,et al.  Entailment with Conditional Equality Constraints , 2001, ESOP.

[41]  Joachim Niehren,et al.  The first-order theory of ordering constraints over feature trees , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[42]  Joachim Niehren,et al.  Non-structural subtype entailment in automata theory , 2003, Inf. Comput..

[43]  Matthias Felleisen,et al.  Componential set-based analysis , 1997, TOPL.

[44]  Ralf Treinen,et al.  Predicate Logic and Tree Automata with Tests , 2000, FoSSaCS.

[45]  Alexander Aiken,et al.  Type inclusion constraints and type inference , 1993, FPCA '93.

[46]  Ralf Treinen,et al.  The First-Order Theory of Lexicographic Path Orderings is Undecidable , 1997, Theor. Comput. Sci..