<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="6.x">Drupal-Biblio</source-app><ref-type>47</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Gilles Barthe</style></author><author><style face="normal" font="default" size="100%">Maria João Frade</style></author></authors></contributors><titles><title><style face="normal" font="default" size="100%">Constructor Subtyping</style></title><secondary-title><style face="normal" font="default" size="100%">Proceedings of 8th European Symposium on Programming Languages and Systems - ESOP</style></secondary-title><tertiary-title><style face="normal" font="default" size="100%">Lecture Notes in Computer Science</style></tertiary-title></titles><dates><year><style  face="normal" font="default" size="100%">1999</style></year><pub-dates><date><style  face="normal" font="default" size="100%">March</style></date></pub-dates></dates><urls><related-urls><url><style face="normal" font="default" size="100%">https://haslab.uminho.pt/sites/default/files/mjf/files/esop99.pdf</style></url></related-urls></urls><publisher><style face="normal" font="default" size="100%">Springer</style></publisher><pub-location><style face="normal" font="default" size="100%"> Amsterdam, The Netherlands</style></pub-location><volume><style face="normal" font="default" size="100%">1576</style></volume><pages><style face="normal" font="default" size="100%">109-127</style></pages><language><style face="normal" font="default" size="100%">eng</style></language><abstract><style face="normal" font="default" size="100%">&lt;p&gt;Constructor subtyping is a form of subtyping in which an inductive type A is viewed as a subtype of another inductive type B if B has more constructors than A. Its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and study the properties of a simply typed lambda-calculus with record types and datatypes, and which supports record subtyping and constructor subtyping. In the first part of the paper, we show that the calculus is confluent and strongly normalizing. In the second part of the paper, we show that the calculus admits a well-behaved theory of canonical inhabitants, provided one adopts expansive extensionality rules, including eta-expansion, surjective pairing, and a suitable expansion rule for datatypes. Finally, in the third part of the paper, we extend our calculus with unbounded recursion and show that confluence is preserved.&lt;/p&gt;
</style></abstract></record></records></xml>