Abstract
Homotopy type theory is an extension of Martin-Löf type theory, based on a correspondence with homotopy theory and higher category theory. In homotopy type theory, the propositional equality type becomes proof-relevant, and corresponds to paths in a space. This allows for a new class of datatypes, called higher inductive types, which are specified by constructors not only for points but also for paths. In this paper, we consider a programming application of higher inductive types. Version control systems such as Darcs are based on the notion of patches - syntactic representations of edits to a repository. We show how patch theory can be developed in homotopy type theory. Our formulation separates formal theories of patches from their interpretation as edits to repositories. A patch theory is presented as a higher inductive type. Models of a patch theory are given by maps out of that type, which, being functors, automatically preserve the structure of patches. Several standard tools of homotopy theory come into play, demonstrating the use of these methods in a practical programming context.
- M. Abbott, T. Altenkirch, and N. Ghani. Containers: constructing strictly positive types. Theoretic Computer Science, 342(1):3--27, 2005. Google Scholar
Digital Library
- T. Altenkirch. Containers in homotopy type theory. Talk at Mathematical Structures of Computation, Lyon, 2014.Google Scholar
- T. Altenkirch, C. McBride, and W. Swierstra. Observational equality, now. In Programming Languages meets Program Verification Workshop, 2007. Google Scholar
Digital Library
- S. Awodey and M. Warren. Homotopy theoretic models of identity types. Mathematical Proceedings of the Cambridge Philosophical Society, 2009.Google Scholar
Cross Ref
- B. Barras, T. Coquand, and S. Huber. A generalization of Takeuti-Gandy interpretation. To appear in Mathematical Structures in Computer Science, 2013.Google Scholar
- M. Bezem, T. Coquand, and S. Huber. A model of type theory in cubical sets. Preprint, September 2013.Google Scholar
- Camp Project. http://projects.haskell.org/camp/, 2010.Google Scholar
- R. L. Constable, S. F. Allen, H. M. Bromley, W. R. Cleaveland, J. F. Cremer, R. W. Harper, D. J. Howe, T. B. Knoblock, N. P. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the NuPRL Proof Development System. Prentice Hall, 1986. Google Scholar
Digital Library
- Coq Development Team. The Coq Proof Assistant Reference Manual, version 8.2. INRIA, 2009. Available from http://coq.inria.fr/.Google Scholar
- J. Dagit. Type-correct changes - a safe approach to version control implementation. MS Thesis, 2009.Google Scholar
- N. Gambino and R. Garner. The identity type weak factorisation system. Theoretical Computer Science, 409(3):94--109, 2008. Google Scholar
Digital Library
- Ganesh Sittampalam et al. Some properties of darcs patch theory. Available from http://urchin.earth.li/darcs/ganesh/darcs-patch-theory/theory/formal.pdf, 2005.Google Scholar
- R. Garner. Two-dimensional models of type theory. Mathematical. Structures in Computer Science, 19(4):687--736, 2009. Google Scholar
Digital Library
- M. Hofmann and T. Streicher. The groupoid interpretation of type theory. In Twenty-five years of constructive type theory. Oxford University Press, 1998.Google Scholar
Cross Ref
- R. Houston. On editing text. http://bosker.wordpress.com/2012/05/10/on-editing-text/, 2012.Google Scholar
- J. Jacobson. A formalization of darcs patch theory using inverse semigroups. Available from ftp://ftp.math.ucla.edu/pub/camreport/cam09-83.pdf, 2009.Google Scholar
- C. Kapulkin, P. L. Lumsdaine, and V. Voevodsky. The simplicial model of univalent foundations. arXiv:1211.2851, 2012.Google Scholar
- F. W. Lawvere. Functorial Semantics of Algebraic Theories and Some Algebraic Problems in the context of Functorial Semantics of Algebraic Theories. PhD thesis, Columbia University, 1963.Google Scholar
- D. R. Licata and G. Brunerie. πn(Sn) in homotopy type theory. In Certified Programs and Proofs, 2013.Google Scholar
Digital Library
- D. R. Licata and E. Finster. Eilenberg-MacLane spaces in homotopy type theory. Draft available from http://dlicata.web.wesleyan.edu/pubs.html, 2014. Google Scholar
Digital Library
- D. R. Licata and R. Harper. 2-dimensional directed type theory. In Mathematical Foundations of Programming Semantics (MFPS), 2011.Google Scholar
Digital Library
- D. R. Licata and R. Harper. Canonicity for 2-dimensional type theory. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2012. Google Scholar
Digital Library
- D. R. Licata and M. Shulman. Calculating the fundamental group of the circle in homotopy type theory. In IEEE Symposium on Logic in Computer Science, 2013. Google Scholar
Digital Library
- P. L. Lumsdaine. Weak ω-categories from intensional type theory. In International Conference on Typed Lambda Calculi and Applications, 2009. Google Scholar
Digital Library
- P. L. Lumsdaine. Higher inductive types: a tour of the menagerie. http://homotopytypetheory.org/2011/04/24/higher-inductive-types-a-tour-of-the-menagerie/, April 2011.Google Scholar
- P. L. Lumsdaine and M. Shulman. Higher inductive types. In preparation, 2013.Google Scholar
- C. McBride. Dependently Typed Functional Programs and Their Proofs. PhD thesis, University of Edinburgh, 2000.Google Scholar
- S. Mimram and C. Di Giusto. A categorical theory of patches. Electronic Notes in Theoretic Computer Science, 298:283--307, 2013. Google Scholar
Digital Library
- U. Norell. Towards a practical programming language based on dependent type theory. PhD thesis, Chalmers University of Technology, 2007.Google Scholar
- J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In IEEE Symposium on Logic in Computer Science, 2002. Google Scholar
Digital Library
- D. Roundy. Darcs: Distributed version management in haskell. In ACM SIGPLAN Workshop on Haskell. ACM, 2005. Google Scholar
Digital Library
- M. Shulman. Homotopy type theory VI: higher inductive types. http://golem.ph.utexas.edu/category/2011/04/homotopy_type_theory_vi.html, April 2011.Google Scholar
- M. Shulman. Univalence for inverse diagrams, oplax limits, and gluing, and homotopy canonicity. arXiv:1203.3253, 2013.Google Scholar
- W. Swierstra and A. Löh. The semantics of version control. Available from http://www.staff.science.uu.nl/~swier004/, 2014.Google Scholar
- The Univalent Foundations Program, Institute for Advanced Study. Homotopy Type Theory: Univalent Foundations Of Mathematics. Available from homotopytypetheory.org/book, 2013.Google Scholar
- B. van den Berg and R. Garner. Types are weak ω-groupoids. Proceedings of the London Mathematical Society, 102(2):370--394, 2011.Google Scholar
- V. Voevodsky. Univalent foundations of mathematics. Invited talk at WoLLIC 2011 18th Workshop on Logic, Language, Information and Computation, 2011. Google Scholar
Digital Library
- M. A.Warren. Homotopy theoretic aspects of constructive type theory. PhD thesis, Carnegie Mellon University, 2008.Google Scholar
Index Terms
Homotopical patch theory
Recommendations
Homotopical patch theory
ICFP '14: Proceedings of the 19th ACM SIGPLAN international conference on Functional programmingHomotopy type theory is an extension of Martin-Löf type theory, based on a correspondence with homotopy theory and higher category theory. In homotopy type theory, the propositional equality type becomes proof-relevant, and corresponds to paths in a ...
Self-Representation in Girard's System U
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesIn 1991, Pfenning and Lee studied whether System F could support a typed self-interpreter. They concluded that typed self-representation for System F "seems to be impossible", but were able to represent System F in Fω. Further, they found that the ...
Dynamic typing in a statically typed language
Statically typed programming languages allow earlier error checking, better enforcement of diciplined programming styles, and the generation of more efficient object code than languages where all type consistency checks are performed at run time. ...







Comments