Inference Rules and Proof Procedures for Inequations

Abstract The negation of equality is an important relation that arises naturally in the study of equational programming languages and logic programming with equality. Proving and solving equations and inequations may also constitute subtasks in constraint logic programming. In this paper, we give forward (i.e., nonrefutational) techniques for proving the negation of equality in a theory. We develop a complete inference system to check whether an inequation is a logical consequence of a given system of equations and inequations. The inference system is used to develop a goal-directed semidecision procedure which uses a narrowing technique for proving inequations. A decision procedure is obtained when certain additional conditions are satisfied. The semidecision procedure for proving inequations is also modified to obtain a semidecision procedure for solving inequations in a theory, i.e., finding a substitution such that the corresponding instance of the given inequation is a logical consequence of the given system.

[1]  H. Comon Sufficient Completness, Term Rewriting Systems and Anti-Unification , 1986 .

[2]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[3]  Michael J. Maher,et al.  Unification Revisited , 1988, Foundations of Deductive Databases and Logic Programming..

[4]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[5]  Deepak Kapur,et al.  First-Order Theorem Proving Using Conditional Rewrite Rules , 1988, CADE.

[6]  Mandayam K. Srivas,et al.  Reasoning in Systems of Equations and Inequations , 1987, FSTTCS.

[7]  Alain Colmerauer,et al.  Equations and Inequations on Finite and Infinite Trees , 1984, FGCS.

[8]  G. Birkhoff,et al.  On the Structure of Abstract Algebras , 1935 .

[9]  José Meseguer,et al.  Equality, Types, Modules, and (Why not ?) Generics for Logic Programming , 1984, J. Log. Program..

[10]  A. Selman Completeness of calculii for axiomatically defined classes of algebras , 1972 .

[11]  Larry Wos,et al.  Negative Paramodulation , 1986, CADE.

[12]  Richard C. T. Lee,et al.  Symbolic logic and mechanical theorem proving , 1973, Computer science classics.

[13]  L. Wos,et al.  Paramodulation and Theorem-Proving in First-Order Theories with Equality , 1983 .

[14]  Joxan Jaffar,et al.  Methodology and Implementation of a CLP System , 1987, ICLP.

[15]  Akira Aiba,et al.  CAL: A Theoretical Background of Constraint Logic Programming and its Applications , 1988, J. Symb. Comput..

[16]  Christoph M. Hoffmann,et al.  Programming with Equations , 1982, TOPL.

[17]  Michaël Rusinowitch,et al.  On Word Problems in Equational Theories , 1987, ICALP.

[18]  José Meseguer,et al.  Equality, Types, Modules and Generics for Logic Programming , 1984, ICLP.

[19]  G. Gentzen Untersuchungen über das logische Schließen. I , 1935 .

[20]  Jean-Marie Hullot,et al.  Canonical Forms and Unification , 1980, CADE.

[21]  Jean-Louis Lassez,et al.  Independence of Negative Constraints , 1989, TAPSOFT, Vol.1.

[22]  Nachum Dershowitz,et al.  Logic Programming cum Applicative Programming , 1985, SLP.

[23]  David R. Musser,et al.  Abstract Data Type Specification in the Affirm System , 1980, IEEE Transactions on Software Engineering.

[24]  Paliath Narendran,et al.  On Ground-Confluence of Term Rewriting Systems , 1990, Inf. Comput..

[25]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[26]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.