Log In Sign Up

Modularity and Combination of Associative Commutative Congruence Closure Algorithms enriched with Semantic Properties

by   Deepak Kapur, et al.

Algorithms for computing congruence closure of ground equations over uninterpreted symbols and interpreted symbols satisfying associativity and commutativity (AC) properties are proposed. The algorithms are based on a framework for computing a congruence closure by abstracting nonflat terms by constants as proposed first in Kapur's congruence closure algorithm (RTA97). The framework is general, flexible, and has been extended also to develop congruence closure algorithms for the cases when associative-commutative function symbols can have additional properties including idempotency, nilpotency, identities, cancellativity and group properties as well as their various combinations. Algorithms are modular; their correctness and termination proofs are simple, exploiting modularity. Unlike earlier algorithms, the proposed algorithms neither rely on complex AC compatible well-founded orderings on nonvariable terms nor need to use the associative-commutative unification and extension rules in completion for generating canonical rewrite systems for congruence closures. They are particularly suited for integrating into the Satisfiability modulo Theories (SMT) solvers. A new way to view Groebner basis algorithm for polynomial ideals with integer coefficients as a combination of the congruence closures over the AC symbol * with the identity 1 and the congruence closure over an Abelian group with + is outlined.


page 1

page 2

page 3

page 4


Congruence Closure Modulo Permutation Equations

We present a framework for constructing congruence closure modulo permut...

Small Proofs from Congruence Closure

Satisfiability Modulo Theory (SMT) solvers and equality saturation engin...

Direct and Binary Direct Bases for One-set Updates of a Closure System

We introduce a concept of a binary-direct implicational basis and show t...

Representations for the largest Extension of a closure system

We consider extension of a closure system on a finite set S as a closure...

A Signature-based Algorithm for Computing the Nondegenerate Locus of a Polynomial System

Polynomial system solving arises in many application areas to model non-...

Modular Materialisation of Datalog Programs

The seminaïve algorithm can materialise all consequences of arbitrary da...

Discovery data topology with the closure structure. Theoretical and practical aspects

In this paper, we are revisiting pattern mining and especially itemset m...