Type systems for dummies

Andrea Asperti, Ferruccio Guidi
2012 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation - TLDI '12  
We extend Pure Type Systems with a function turning each term M of type A into a dummy M of the same type ( ⋅ is not an identity, in that M ≠ M ). Intuitively, a dummy represents an unknown, canonical object of the given type: dummies are opaque (cannot be internally inspected), and irrelevant in the sense that dummies of a same type are convertible to each other. This latter condition makes convertibility in PTS with dummies (DPTS) stronger than usual, hence raising not trivial consistency
more » ... ial consistency issues. DPTS offer an alternative approach to (proof) irrelevance, tagging irrelevant information at the level of terms and not of types, and avoiding the annoying syntactical duplication of products, abstractions and applications into an explicit and an implicit version, typical of systems like ICC * .
doi:10.1145/2103786.2103797 dblp:conf/tldi/AspertiG12 fatcat:2nywbssfmzggdb46cz3pfoko6u