Algorithms for Equality and Unification in the Presence of Notational Definitions

Notational definitions are pervasive in mathematical practice and are therefore supported in most automated theorem proving systems such as Coq [B+98], PVS [ORS92], Lego [LP92], or Isabelle [Pau94]. Semantically, notational definitions are transparent, that is, one obtains the meaning of an expression by interpreting the result of expanding all definitions. Pragmatically, however, expanding all definitions as they are encountered is unsatisfactory, since it can be computationally expensive and complicate the user interface.

[1]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

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

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

[4]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[5]  Frank Pfenning,et al.  Automated Theorem Proving in a Simple Meta-Logic for LF , 1998, CADE.

[6]  Timothy G. Griffin,et al.  Notational definition-a formal account , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[7]  Michael Hanus,et al.  The Integration of Functions into Logic Programming: From Theory to Practice , 1994, J. Log. Program..

[8]  Stephen J. Garland,et al.  PVS: A Prototype . . . , 1992 .

[9]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

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

[11]  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.

[12]  H. Geuvers The Church-Rosser property for βη-reduction in typed λ-calculi , 1992, LICS 1992.

[13]  Chris Hankin,et al.  Deriving algorithms from type inference systems: application to strictness analysis , 1994, POPL '94.

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

[15]  Claude Kirchner,et al.  Unification via Explicit Substitutions: The Case of Higher-Order Patterns , 1996, JICSLP.

[16]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.