Affiliation:
1. Carnegie Mellon University, USA
2. Stockholm University, Sweden
Abstract
In their usual form, representation independence metatheorems provide an external guarantee that two implementations of an abstract interface are interchangeable when they are related by an operation-preserving correspondence. If our programming language is dependently-typed, however, we would like to appeal to such invariance results within the language itself, in order to obtain correctness theorems for complex implementations by transferring them from simpler, related implementations. Recent work in proof assistants has shown that Voevodsky's univalence principle allows transferring theorems between isomorphic types, but many instances of representation independence in programming involve non-isomorphic representations.
In this paper, we develop techniques for establishing internal relational representation independence results in dependent type theory, by using higher inductive types to simultaneously quotient two related implementation types by a heterogeneous correspondence between them. The correspondence becomes an isomorphism between the quotiented types, thereby allowing us to obtain an equality of implementations by univalence. We illustrate our techniques by considering applications to matrices, queues, and finite multisets. Our results are all formalized in Cubical Agda, a recent extension of Agda which supports univalence and higher inductive types in a computationally well-behaved way.
Funder
Vetenskapsrådet
Air Force Office of Scientific Research
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference55 articles.
1. Andreas Abel Jesper Cockx Dominique Devriese Amin Timany and Philip Wadler. 2020. Leibniz equality is isomorphic to Martin-Löf identity parametricaJloluyr.nal of Functional Programming 30 ( 2020 ) e17. https://doi.org/10.1017/ S0956796820000155 10.1017/S0956796820000155 Andreas Abel Jesper Cockx Dominique Devriese Amin Timany and Philip Wadler. 2020. Leibniz equality is isomorphic to Martin-Löf identity parametricaJloluyr.nal of Functional Programming 30 ( 2020 ) e17. https://doi.org/10.1017/ S0956796820000155 10.1017/S0956796820000155
2. Benedikt Ahrens and Peter LeFanu Lumsdaine. 2017. Displayed Categorie2sn.dInInternational Conference on Formal Structures for Computation and Deduction (FSCD 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs) Vol. 84 ) (Eds.). Springer International Publishing Cham 160-17h6t.tps://doi.org/10.1007/978-3-319-08970-6_11 Benedikt Ahrens and Peter LeFanu Lumsdaine. 2017. Displayed Categorie2sn.dInInternational Conference on Formal Structures for Computation and Deduction (FSCD 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs) Vol. 84 ) (Eds.). Springer International Publishing Cham 160-17h6t.tps://doi.org/10.1007/978-3-319-08970-6_11
3. Cyril Cohen Thierry Coquand Simon Huber and Anders Mörtberg. 2018. Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom2. 1Inst International Conference on Types for Proofs and Programs (TYPES 2015 ) (Leibniz International Proceedings in Informatics (LIPIcs) Vol. 69 ) Tarmo Uustalu (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik Dagstuhl Germany 5 : 1-5 :34h.ttps://doi.org/10.4230/LIPIcs.TYPES. 2015.5 Cyril Cohen Thierry Coquand Simon Huber and Anders Mörtberg. 2018. Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom2. 1Inst International Conference on Types for Proofs and Programs (TYPES 2015 ) (Leibniz International Proceedings in Informatics (LIPIcs) Vol. 69 ) Tarmo Uustalu (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik Dagstuhl Germany 5 : 1-5 :34h.ttps://doi.org/10.4230/LIPIcs.TYPES. 2015.5
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Internal and Observational Parametricity for Cubical Agda;Proceedings of the ACM on Programming Languages;2024-01-05
2. Artifact Report: Trocq: Proof Transfer for Free, With or Without Univalence;Lecture Notes in Computer Science;2024
3. Trocq: Proof Transfer for Free, With or Without Univalence;Lecture Notes in Computer Science;2024
4. What's in a Bag?: An “Application Proving Interface” for Finite Bags and its Implementation;The 35th Symposium on Implementation and Application of Functional Languages;2023-08-29
5. Computing Cohomology Rings in Cubical Agda;Proceedings of the 12th ACM SIGPLAN International Conference on Certified Programs and Proofs;2023-01-11