On the Logic of Unification

Unification, or solving equations on finite trees, is a P-complete problem central to symbolic manipulation, especially in Resolution, Type Inference and Rewriting. We present a natural logic dedicated to unification, which includes a constructive version of equational logic. This logic enjoys the classical proof-theoretic properties: atomicity; strong normalization; Church-Rosserness; left right, introduction elimination and positive negative symmetries. Motivated by the Type Inference problem, we introduce, besides a model-theoretic semantics and its completeness, a geometrical interpretation of deductions describing their operational content. This allows the design of a normalization process. This unification logic provides significant tools in investigations of higher-order unification, especially for the Type Inference problem, via fixed-point equations deducible from the given equations in unification logic. We also present some results on the classification problem of these fixed-point equations. To this end, we introduce the notion of elementary cyclic sets, that essentially possess a single associated fixed-point equation. The finite set of elementary cyclic sets embedded in some unification problem is obtained by a linearization process of the input equations. Finally, up to permutation, there exists a minimum equational deduction associated to an elementary cyclic set. We give a deterministic algorithm computing this deduction.

[1]  Paola Giannini,et al.  Characterization of typings in polymorphic type discipline , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

[3]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[4]  G. Kreisel The Collected Papers of Gerhard Gentzen , 1971 .

[5]  Richard Statman Solving functional equations at higher types: some examples and some theorems , 1986, Notre Dame J. Formal Log..

[6]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[7]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

[8]  Richard Statman,et al.  Unifiability is Complete for co-NLogSpace , 1982, Inf. Process. Lett..

[9]  Bruno Courcelle,et al.  Algorithmes d'equivalence et de reduction a des expressions minimales dans une classe d'equations recursives simples , 1974, ICALP.

[10]  Peter B. Andrews Resolution in type theory , 1971, Journal of Symbolic Logic.

[11]  Georg Kreisel,et al.  Finite Definability of Number-Theoretic Functions and Parametric Completeness of Equational Calculi , 1961 .

[12]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.

[13]  Philippe le Chenadec Canonical forms in finitely presented algebras , 1984, Research notes in theoretical computer science.

[14]  N. P. Mendler,et al.  Recursive Types and Type Constraints in Second-Order Lambda Calculus , 1987, LICS.

[15]  Pierre-Louis Curien,et al.  Sequential Algorithms on Concrete Data Structures , 1982, Theor. Comput. Sci..

[16]  Warren D. Goldfarb,et al.  The Undecidability of the Second-Order Unification Problem , 1981, Theor. Comput. Sci..

[17]  J. Girard Proof Theory and Logical Complexity , 1989 .

[18]  John C. Mitchell,et al.  On the Sequential Nature of Unification , 1984, J. Log. Program..

[19]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[20]  R. Statman Herbrand's Theorem and Gentzen's Notion of a Direct Proof , 1977 .

[21]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[22]  B. Courcelle Fundamental properties of infinite trees , 1983 .

[23]  Jeffrey Scott Vitter,et al.  New Classes for Parallel Complexity: A Study of Unification and Other Complete Problems for P , 1986, IEEE Transactions on Computers.

[24]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[25]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[26]  Jean H. Gallier,et al.  Logic for Computer Science: Foundations of Automatic Theorem Proving , 1985 .