Eliminating Redundancy in Higher-Order Unification: A Lightweight Approach
In this paper, we discuss a lightweight approach to eliminate the overhead due to implicit type arguments during higher-order unification of dependently-typed terms. First, we show that some implicit type information is uniquely determined, and can therefore be safely skipped during higher-order unification. Second, we discuss its impact in practice during type reconstruction and during proof search within the logical framework Twelf. Our experimental results show that implicit type arguments are numerous and large in size, but their impact on run-time is between 10% and 20%. On the other hand optimizations such as eliminating the occurs check are shown to be crucial to achieve significant performance improvements.
KeywordsLogical Framework Type Argument Proof Search Type Reconstruction Atomic Object
Unable to display preview. Download preview PDF.
- 4.Dowek, G., Hardin, T., Kirchner, C., Pfenning, F.: Unification via explicit substitutions: The case of higher-order patterns. In: Maher, M. (ed.) Proceedings of the Joint International Conference and Symposium on Logic Programming, Bonn, Germany, September 1996, pp. 259–273. MIT Press, Cambridge (1996)Google Scholar
- 5.Hannan, J., Pfenning, F.: Compiler verification in LF. In: Scedrov, A. (ed.) Seventh Annual IEEE Symposium on Logic in Computer Science, Santa Cruz, California, June 1992, pp. 407–418 (1992)Google Scholar
- 7.Michaylov, S., Pfenning, F.: An empirical study of the runtime behavior of higher-order logic programs. In: Miller, D. (ed.) Proceedings of the Workshop on the λProlog Programming Language, Philadelphia, Pennsylvania, July 1992, pp. 257–271. University of Pennsylvania (1992)Google Scholar
- 8.Miller, D.: Unification of simply typed lambda-terms as logic programming. In: Eighth International Logic Programming Conference, Paris, France, June 1991, pp. 255–269. MIT Press, Cambridge (1991)Google Scholar
- 10.Nanevski, A., Pfenning, F., Pientka, B.: A contextual modal type theory (2005)Google Scholar
- 11.Necula, G.C., Lee, P.: Efficient representation and validation of logical proofs. In: Pratt, V. (ed.) Proceedings of the 13th Annual Symposium on Logic in Computer Science (LICS 1998), Indianapolis, Indiana, June 1998, pp. 93–104. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
- 12.Pfenning, F.: Unification and anti-unification in the Calculus of Constructions. In: Sixth Annual IEEE Symposium on Logic in Computer Science, Amsterdam, The Netherlands, July 1991, pp. 74–85 (1991)Google Scholar
- 15.Pientka, B.: Tabled higher-order logic programming. PhD thesis, Department of Computer Sciences, Carnegie Mellon University, CMU-CS-03-185 (December, 2003)Google Scholar
- 17.Reed, J.: Redundancy Elimination for LF. In: Schuermann, C. (ed.) Fourth Workshop on Logical Frameworks and Meta-languages( LFM 2004), Cork, Ireland (July 2004)Google Scholar
- 18.Watkins, K., Cervesato, I., Pfenning, F., Walker, D.: A concurrent logical framework I: Judgments and properties. Technical Report CMU-CS-02-101, Department of Computer Science, Carnegie Mellon University (2002)Google Scholar