Unification via Explicit Substitutions: The Case of Higher-Order Patterns

In [6] we have proposed a general higher-order unification method using a theory of explicit substitutions and we have proved its completeness. In this paper, we investigate the case of higher-order patterns as introduced by Miller. We show that our general algorithm specializes in a very convenient way to patterns. We also sketch an efficient implementation of the abstract algorithm and its generalization to constraint simplification, which has yielded good experimental results at the core of a higher-order constraint logic programming language.

[1]  Dale A. Miller,et al.  AN OVERVIEW OF PROLOG , 1988 .

[2]  Gopalan Nadathur,et al.  A representation of Lambda terms suitable for operations on their intensions , 1990, LISP and Functional Programming.

[3]  C. Kirchner,et al.  Higher-order unification via explicit substitutions Extended Abstract , 1995, LICS 1995.

[4]  C. Kirchner,et al.  Deduction with symbolic constraints , 1990 .

[5]  Frank Pfenning,et al.  A Module System for a Programming Language Based on the LF Logical Framework , 1998, J. Log. Comput..

[6]  Evelyne Contejean,et al.  AC-Unification of Higher-Order Patterns , 1997, CP.

[7]  Tobias Nipkow,et al.  Isabelle-91 , 1992, CADE.

[8]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[9]  P.-L. Curien,et al.  Un résultat de complétude pour les substitutions explicites , 1991 .

[10]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[11]  M. Maher Unification via Explicit Substitutions: The Case of Higher-Order Patterns , 1996 .

[12]  54506 Vandoeuvre Implementation of Higher-order Uniication Based on Calculus of Explicit Substitution , 1995 .

[13]  Frank Pfenning,et al.  Uniication and Anti-uniication in the Calculus of Constructions , 1991 .

[14]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[15]  Frank Pfenning,et al.  Elf: A Meta-Language for Deductive Systems (System Descrition) , 1994, CADE.

[16]  Frank Pfenning,et al.  Unification and anti-unification in the calculus of constructions , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[17]  Christopher Lynch,et al.  Paramodulation without duplication , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[18]  Claude Kirchner,et al.  Higher-Order Equational Unification via Explicit Substitutions , 1997, ALP/HOA.

[19]  F. Pfenning Logic programming in the LF logical framework , 1991 .

[20]  Pascal Brisset Compilation de lambda-prolog , 1992 .

[21]  Frank Pfenning,et al.  An Empirical Study of the Runtime Behavior of Higher-Order Logic Programs , 1992 .

[22]  Lena Magnusson,et al.  The implementation of ALF : a proof editor based on Martin-Löf's monomorphic type theory with explicit substitution , 1994 .

[23]  G. Nadathur,et al.  A Notation for Lambda Terms II: Refinements and Applications , 1994 .

[24]  Zhenyu Qian,et al.  Linear Unification of Higher-Order Patterns , 1993, TAPSOFT.

[25]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[26]  Dominic Duggan,et al.  Logical Closures , 1994, LPAR.

[27]  Peter Borovanský,et al.  Implementation of Higher-Order Unification Based on Calculus of Explicit Substitution , 1995, SOFSEM.

[28]  Frank Pfenning,et al.  Higher-Order Logic Programming as Constraint Logic Programming , 1993, PPCP.