In this paper we explore a family of type isomorphisms in System F whose validity corresponds, semantically, to some form of the Yoneda isomorphism from category theory. These isomorphisms hold under theories of equivalence stronger than βη-equivalence, like those induced by parametricity and dinaturality. We show that the Yoneda type isomorphisms yield a rewriting over types, that we call Yoneda reduction, which can be used to eliminate quantifiers from a polymorphic type, replacing them with a combination of monomorphic type constructors. We establish some sufficient conditions under which quantifiers can be fully eliminated from a polymorphic type, and we show some application of these conditions to count the inhabitants of a type and to compute program equivalence in some fragments of System F.
@InProceedings{pistone_et_al:LIPIcs.CSL.2021.35, author = {Pistone, Paolo and Tranchini, Luca}, title = {{The Yoneda Reduction of Polymorphic Types}}, booktitle = {29th EACSL Annual Conference on Computer Science Logic (CSL 2021)}, pages = {35:1--35:22}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-175-7}, ISSN = {1868-8969}, year = {2021}, volume = {183}, editor = {Baier, Christel and Goubault-Larrecq, Jean}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CSL.2021.35}, URN = {urn:nbn:de:0030-drops-134696}, doi = {10.4230/LIPIcs.CSL.2021.35}, annote = {Keywords: System F, Type isomorphisms, Yoneda isomorphism, Program equivalence} }
Feedback for Dagstuhl Publishing