## Unification and Anti-Unification in the Calculus of Constructions (1991)

Venue: | In Sixth Annual IEEE Symposium on Logic in Computer Science |

Citations: | 61 - 15 self |

### BibTeX

@INPROCEEDINGS{Pfenning91unificationand,

author = {Frank Pfenning},

title = {Unification and Anti-Unification in the Calculus of Constructions},

booktitle = {In Sixth Annual IEEE Symposium on Logic in Computer Science},

year = {1991},

pages = {74--85}

}

### Years of Citing Articles

### OpenURL

### Abstract

We present algorithms for unification and antiunification in the Calculus of Constructions, where occurrences of free variables (the variables subject to instantiation) are restricted to higher-order patterns, a notion investigated for the simply-typed -calculus by Miller. Most general unifiers and least common antiinstances are shown to exist and are unique up to a simple equivalence. The unification algorithm is used for logic program execution and type and term reconstruction in the current implementation of Elf and has shown itself to be practical. The main application of the anti-unification algorithm we have in mind is that of proof generalization. 1 Introduction Higher-order logic with an embedded simply-typed - calculus has been used as the basis for a number of theorem provers (for example [1, 19]) and the programming language Prolog [16]. Central to these systems is an implementation of Huet's pre-unification algorithm for the simply-typed -calculus [12] which has shown it...

### Citations

696 | A Framework for Defining Logics
- Harper, Honsel, et al.
- 1993
(Show Context)
Citation Context ...or program extraction, proof transformation, or proof generalization, to give but three examples), benefits may be derived from using a richer type theory, such as offered by the LF Logical Framework =-=[10]-=- or the more general Calculus of Constructions [3]. A number of program development and theorem proving environments have been constructed on the basis of such type theories (see, for example, [6, 18,... |

471 |
The calculus of constructions
- Coquand, Huet
- 1988
(Show Context)
Citation Context ...of generalization, to give but three examples), benefits may be derived from using a richer type theory, such as offered by the LF Logical Framework [10] or the more general Calculus of Constructions =-=[3]-=-. A number of program development and theorem proving environments have been constructed on the basis of such type theories (see, for example, [6, 18, 20]). In order to give sophisticated assistance f... |

463 | A note on inductive generalization - Plotkin - 1970 |

287 | A logic programming language with lambda-abstraction, function variables, and simple unification
- Miller
- 1991
(Show Context)
Citation Context ...as lead to search for a restriction on the occurrences of variables in simply-typed -terms such that the unification problem becomes deterministic and decidable. Such a class was discovered by Miller =-=[15]-=- and applied by Nipkow [17] to higher-order rewriting and by the author [21] to the simplification of constraints and type reconstruction in Elf. Though our class is more general, since it is situated... |

218 |
Unification revisited
- Lassez, Maher, et al.
- 1986
(Show Context)
Citation Context ...erence system in Figure 2. The main judgment is \Gamma ` M ) A (read: M is canonical of type A in context \Gamma). 3 Higher-Order Patterns In the theory of first-order unification and antiunification =-=[22, 24, 13, 14]-=-, the authors construct a semi-lattice of terms with free variables, ordered under instantiation of these variables. Here we are dealing with a typed language, so we need to consider terms in a contex... |

177 |
An overview of >'Prolog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ...zation. 1 Introduction Higher-order logic with an embedded simply-typed - calculus has been used as the basis for a number of theorem provers (for example [1, 19]) and the programming language Prolog =-=[16]-=-. Central to these systems is an implementation of Huet's pre-unification algorithm for the simply-typed -calculus [12] which has shown itself to be very useful in practice, despite the undecidability... |

175 | Logic programming in the LF logical framework
- Pfenning
- 1991
(Show Context)
Citation Context ...y-typed -terms such that the unification problem becomes deterministic and decidable. Such a class was discovered by Miller [15] and applied by Nipkow [17] to higher-order rewriting and by the author =-=[21]-=- to the simplification of constraints and type reconstruction in Elf. Though our class is more general, since it is situated in the Calculus of Constructions, we follow Nipkow and call such restricted... |

169 |
A unification algorithm for typed -calculus
- Huet
- 1975
(Show Context)
Citation Context ...ber of theorem provers (for example [1, 19]) and the programming language Prolog [16]. Central to these systems is an implementation of Huet's pre-unification algorithm for the simply-typed -calculus =-=[12]-=- which has shown itself to be very useful in practice, despite the undecidability of higher-order unification [8]. However, the non-determinism, more so than the undecidability, presents some problems... |

132 |
The undecidability of the second-order unification problem
- Goldfarb
- 1981
(Show Context)
Citation Context ... an implementation of Huet's pre-unification algorithm for the simply-typed -calculus [12] which has shown itself to be very useful in practice, despite the undecidability of higher-order unification =-=[8]-=-. However, the non-determinism, more so than the undecidability, presents some problems with full higher-order unification as the basis for proof development environments and logic programming languag... |

124 |
Higher-order critical pairs
- Nipkow
- 1991
(Show Context)
Citation Context ...triction on the occurrences of variables in simply-typed -terms such that the unification problem becomes deterministic and decidable. Such a class was discovered by Miller [15] and applied by Nipkow =-=[17]-=- to higher-order rewriting and by the author [21] to the simplification of constraints and type reconstruction in Elf. Though our class is more general, since it is situated in the Calculus of Constru... |

107 |
An algorithm for testing conversion in type theory
- Coquand
- 1991
(Show Context)
Citation Context ...lent to a unique canonical form---we will take this as a working hypothesis as in [5]. For the restriction of this system to the LF type theory, this has recently been proved independently by Coquand =-=[2]-=- and Salvesen [25]. It is possible 2 \Delta valid \Gamma ` A :s\Gamma[x:A] valid \Sigma(c) = A \Gamma valid \Gamma ` c : A \Gamma(x) = A \Gamma valid \Gamma ` x : A \Gamma valid \Gamma ` Prop : Type \... |

103 |
Transformational systems and the algebraic structure of atomic formulas
- Reynolds
- 1970
(Show Context)
Citation Context ...erence system in Figure 2. The main judgment is \Gamma ` M ) A (read: M is canonical of type A in context \Gamma). 3 Higher-Order Patterns In the theory of first-order unification and antiunification =-=[22, 24, 13, 14]-=-, the authors construct a semi-lattice of terms with free variables, ordered under instantiation of these variables. Here we are dealing with a typed language, so we need to consider terms in a contex... |

77 | Elf: A language for logic definition and verified meta-programming
- Pfenning
- 1989
(Show Context)
Citation Context ...rk [10] or the more general Calculus of Constructions [3]. A number of program development and theorem proving environments have been constructed on the basis of such type theories (see, for example, =-=[6, 18, 20]-=-). In order to give sophisticated assistance for proof development and management in these frameworks, preunification algorithms for LF have been developed independently by Elliott [7] and Pym [23]. T... |

43 |
Extracting F# 's programs from proofs in the Calculus of Constructions
- Paulin-Mohring
- 1989
(Show Context)
Citation Context ...rk [10] or the more general Calculus of Constructions [3]. A number of program development and theorem proving environments have been constructed on the basis of such type theories (see, for example, =-=[6, 18, 20]-=-). In order to give sophisticated assistance for proof development and management in these frameworks, preunification algorithms for LF have been developed independently by Elliott [7] and Pym [23]. T... |

27 | The tps theorem proving system
- Andrews, Issar, et al.
- 1988
(Show Context)
Citation Context ...thm we have in mind is that of proof generalization. 1 Introduction Higher-order logic with an embedded simply-typed - calculus has been used as the basis for a number of theorem provers (for example =-=[1, 19]-=-) and the programming language Prolog [16]. Central to these systems is an implementation of Huet's pre-unification algorithm for the simply-typed -calculus [12] which has shown itself to be very usef... |

26 | Isabelle tutorial and user’s manual
- Paulson, Nipkow
- 1990
(Show Context)
Citation Context ...thm we have in mind is that of proof generalization. 1 Introduction Higher-order logic with an embedded simply-typed - calculus has been used as the basis for a number of theorem provers (for example =-=[1, 19]-=-) and the programming language Prolog [16]. Central to these systems is an implementation of Huet's pre-unification algorithm for the simply-typed -calculus [12] which has shown itself to be very usef... |

25 | Extensions and Applications of Higher-Order Unification
- Elliott
- 1990
(Show Context)
Citation Context ...xample, [6, 18, 20]). In order to give sophisticated assistance for proof development and management in these frameworks, preunification algorithms for LF have been developed independently by Elliott =-=[7]-=- and Pym [23]. The drawbacks of non-determinism and undecidability were inherited by these algorithms from the simply-typed case. A combination of the ideas of Miller and Elliott for a deterministic, ... |

18 |
and Computation in General Logic
- Proofs
- 1990
(Show Context)
Citation Context ...18, 20]). In order to give sophisticated assistance for proof development and management in these frameworks, preunification algorithms for LF have been developed independently by Elliott [7] and Pym =-=[23]-=-. The drawbacks of non-determinism and undecidability were inherited by these algorithms from the simply-typed case. A combination of the ideas of Miller and Elliott for a deterministic, though incomp... |

17 |
R'esolution d"equations dans des langages d'ordre 1,2
- Huet
- 1976
(Show Context)
Citation Context ...erence system in Figure 2. The main judgment is \Gamma ` M ) A (read: M is canonical of type A in context \Gamma). 3 Higher-Order Patterns In the theory of first-order unification and antiunification =-=[22, 24, 13, 14]-=-, the authors construct a semi-lattice of terms with free variables, ordered under instantiation of these variables. Here we are dealing with a typed language, so we need to consider terms in a contex... |

16 | Higher-order and modal logic as a framework for explanation-based generalization
- Dietzen, Pfenning
- 1992
(Show Context)
Citation Context ...sed generalization, in the terminology of the Artificial Intelligence literature) has been investigated by Hagiya [9] in the setting of type theory, and by Dietzen and the author in setting of Prolog =-=[4]-=-. Our extension to the Calculus of Constructions yields an algorithm for finding the least general generalization (or anti-unifier) of two proofs, which may be a more general proof schema. The restric... |

11 |
The Church-Rosser theorem for LF with fij-reduction. Unpublished notes to a talk given at the First Workshop on Logical Frameworks in
- Salvesen
- 1990
(Show Context)
Citation Context ...canonical form---we will take this as a working hypothesis as in [5]. For the restriction of this system to the LF type theory, this has recently been proved independently by Coquand [2] and Salvesen =-=[25]-=-. It is possible 2 \Delta valid \Gamma ` A :s\Gamma[x:A] valid \Sigma(c) = A \Gamma valid \Gamma ` c : A \Gamma(x) = A \Gamma valid \Gamma ` x : A \Gamma valid \Gamma ` Prop : Type \Gamma[x:A] ` B :s\... |

6 |
Type checking, universe polymorphism, and typical ambiguity in the calculus of constructions
- Harper, Pollack
- 1989
(Show Context)
Citation Context ...f the Calculus of Constructions. The choice of formalization is mainly a matter of economy of presentation of the inference rules and the various algorithms. The formulation we use here is taken from =-=[11]-=-, but closely related formulations appear throughout the literature. We use M;N for terms in general and u; v and x; y; z for variables, where the occurrences of u in [u:M ] N and fu:MgN are binding o... |

5 |
A proof synthesis algorithm for a mathematical vernacular in a restriction of the Calculus of Constructions. Unpublished manuscript
- Dowek
- 1991
(Show Context)
Citation Context ...ork [10] and we still consider Elf [20, 21] as the primary vehicle for the applications of the results presented in this paper. But they may also be useful in the context of a Mathematical Vernacular =-=[5]-=- or a program development environment based on the Calculus of Constructions (CC) [18, 6]. For this reason, and also because it streamlines the presentation, we chose the Calculus of Constructions as ... |

3 |
Generalization from partial parameterization in higher-order type theory. Theoretical Computer Science, 63:113–139
- Hagiya
- 1989
(Show Context)
Citation Context ...a proof to obtain a more general one. Generalization from one proof (or explanation-based generalization, in the terminology of the Artificial Intelligence literature) has been investigated by Hagiya =-=[9]-=- in the setting of type theory, and by Dietzen and the author in setting of Prolog [4]. Our extension to the Calculus of Constructions yields an algorithm for finding the least general generalization ... |

2 |
Caliban: A Programming Language and Environment Based on Types as Specifications
- Duggan
- 1991
(Show Context)
Citation Context ...rk [10] or the more general Calculus of Constructions [3]. A number of program development and theorem proving environments have been constructed on the basis of such type theories (see, for example, =-=[6, 18, 20]-=-). In order to give sophisticated assistance for proof development and management in these frameworks, preunification algorithms for LF have been developed independently by Elliott [7] and Pym [23]. T... |