## On Shostak's Decision Procedure for Combinations of Theories (1996)

Citations: | 52 - 8 self |

### BibTeX

@INPROCEEDINGS{Cyrluk96onshostak's,

author = {David Cyrluk and Patrick Lincoln and Natarajan Shankar},

title = {On Shostak's Decision Procedure for Combinations of Theories},

booktitle = {},

year = {1996},

pages = {463--477},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Decision procedures are increasingly being employed for deciding or simplifying propositional combinations of ground equalities involving uninterpreted function symbols, linear arithmetic, arrays, and other theories. Two approaches for constructing decision procedures for combinations of ground theories were pioneered in the late seventies. In the approach of Nelson and Oppen, decision procedures for two disjoint theories are combined by introducing variables to name subterms and iteratively propagating any deduced equalities between variables from one theory to another. Shostak employs a different approach that works far more efficiently in practice. He uses an optimized implementation of the congruence closure procedure for ground equality over uninterpreted function symbols to combine theories that are canonizable and algebraically solvable. Many useful theories have these properties. Shostak's algorithm is subtle and complex and his description of this procedure is lacking in ri...

### Citations

533 | PVS: A Prototype Verification System
- Shankar
- 1992
(Show Context)
Citation Context ...erent approach that merges the simplifiers for individual theories into a single procedure based on congruence closure. Shostak's decision procedure is at the core of systems such as Ehdm [2] and PVS =-=[13]-=-. In practice, Shostak's procedure is more efficient than that of Nelson and Oppen (see Crocker [5]). Despite its significance, a rigorous analysis of Shostak's procedure has been lacking. Further, al... |

395 |
A Computational Logic Handbook
- Boyer, Moore
- 1988
(Show Context)
Citation Context ...r Moller, and Tomas Uribe, and the anonymous referees for valuable feedback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves [4], Nqthm =-=[1]-=-, Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient al... |

392 | Simplification by cooperating decision procedures
- Nelson, Oppen
- 1982
(Show Context)
Citation Context ...ndex j to have the value 0, and select(a; i) selects the array element from a at index i. Given decision procedures for the component theories (such as linear arithmetic and arrays), Nelson and Oppen =-=[10]-=- gave a technique for combining such decision procedures to decide the combination of these theories by simply propagating equalities between the different decision procedures. The Nelson-Oppen proced... |

306 | Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS
- Owre, Rushby, et al.
- 1995
(Show Context)
Citation Context ...Uribe, and the anonymous referees for valuable feedback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS =-=[14]-=-, SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient algorithms for deciding... |

186 | Fast decision procedures based on congruence closure
- Nelson, Oppen
- 1980
(Show Context)
Citation Context ...ms such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen =-=[11]-=-, and Shostak [17] gave efficient algorithms for deciding such formulas by computing the congruence closure relation on the graph representing the terms in the formula. Although necessary, it is not s... |

158 |
Deciding combinations of theories
- Shostak
- 1984
(Show Context)
Citation Context ...n of these theories by simply propagating equalities between the different decision procedures. The Nelson-Oppen procedure is used in Eves [4], the Stanford Pascal Verifier [8], and SDVS [3]. Shostak =-=[18]-=- used a different approach that merges the simplifiers for individual theories into a single procedure based on congruence closure. Shostak's decision procedure is at the core of systems such as Ehdm ... |

106 | Techniques for program verification - Nelson - 1981 |

105 |
Variations on the common subexpression problem
- Downey, Sethi, et al.
- 1980
(Show Context)
Citation Context ...rification, particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan =-=[6]-=-, Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient algorithms for deciding such formulas by computing the congruence closure relation on the graph representing the terms in the formul... |

52 |
An algorithm for reasoning about equality
- Shostak
- 1977
(Show Context)
Citation Context ...], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak =-=[17]-=- gave efficient algorithms for deciding such formulas by computing the congruence closure relation on the graph representing the terms in the formula. Although necessary, it is not sufficient to have ... |

37 |
Ontic: A knowledge representation system for mathematics
- McAllester
- 1988
(Show Context)
Citation Context ...nd Tomas Uribe, and the anonymous referees for valuable feedback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic =-=[9]-=-, PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient algorithms fo... |

29 |
EVES: An overview
- Craigen, Kromodimoeljo, et al.
- 1991
(Show Context)
Citation Context ...uess, Oliver Moller, and Tomas Uribe, and the anonymous referees for valuable feedback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves =-=[4]-=-, Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave e... |

17 |
pascal verifier user manual
- Stanford
- 1979
(Show Context)
Citation Context ...edback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier =-=[8]-=-. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient algorithms for deciding such formulas by computing the congruence closu... |

13 | Formal Verification of the Interactive Convergence Clock Synchronization Algorithm - Rushby, Henke - 1989 |

4 | Volume 1: Conference Contributions - Prehn, Toetenel, et al. - 1991 |

3 |
Formal Computer Verification in the State Delta Verification System (SDVS
- Cook, Filippenko, et al.
- 1991
(Show Context)
Citation Context ...the anonymous referees for valuable feedback and comments. in theorem proving applied to program verification, particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS =-=[3]-=-, and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen [7], Nelson and Oppen [11], and Shostak [17] gave efficient algorithms for deciding such form... |

2 |
Complexity of finitely represented algebras
- Kozen
- 1988
(Show Context)
Citation Context ... particularly in systems such as Ehdm [2], Eves [4], Nqthm [1], Ontic [9], PVS [14], SDVS [3], and the Stanford Pascal Verifier [8]. In the mid-to-late seventies, Downey, Sethi, and Tarjan [6], Kozen =-=[7]-=-, Nelson and Oppen [11], and Shostak [17] gave efficient algorithms for deciding such formulas by computing the congruence closure relation on the graph representing the terms in the formula. Although... |

1 |
Comparison of Shostak's and Oppen's solvers. Unpublished manuscript
- Crocker
- 1988
(Show Context)
Citation Context ...congruence closure. Shostak's decision procedure is at the core of systems such as Ehdm [2] and PVS [13]. In practice, Shostak's procedure is more efficient than that of Nelson and Oppen (see Crocker =-=[5]-=-). Despite its significance, a rigorous analysis of Shostak's procedure has been lacking. Further, all published accounts of Shostak's method are flawed: the most often-cited paper [18] contains two i... |