Coinductive subtyping for abstract compilation of object-oriented languages into Horn formulas
Davide Ancona (DISI - University of Genova), Giovanni Lagorio (DISI -, University of Genova)

TL;DR
This paper develops a formal subtyping relation for coinductive types used in abstract compilation of object-oriented languages into Horn formulas, ensuring soundness and handling empty types.
Contribution
It introduces a subtyping relation for coinductive terms with union and object types, and proves its soundness, improving type approximation in abstract compilation.
Findings
Subtyping relation is sound with respect to type interpretation.
Simplified the notion of contractive derivation.
Identified and addressed gaps in previous empty type representations.
Abstract
In recent work we have shown how it is possible to define very precise type systems for object-oriented languages by abstractly compiling a program into a Horn formula f. Then type inference amounts to resolving a certain goal w.r.t. the coinductive (that is, the greatest) Herbrand model of f. Type systems defined in this way are idealized, since in the most interesting instantiations both the terms of the coinductive Herbrand universe and goal derivations cannot be finitely represented. However, sound and quite expressive approximations can be implemented by considering only regular terms and derivations. In doing so, it is essential to introduce a proper subtyping relation formalizing the notion of approximation between types. In this paper we study a subtyping relation on coinductive terms built on union and object type constructors. We define an interpretation of types as set of…
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.
