First-Order Theories

Abstract

When reasoning in particular application domains such as software or hardware, one often has particular structures in mind. For example, programs manipulate numbers, lists, and arrays. First-order theories formalize these structures to enable reasoning about them. This chapter introduces first-order theories in general and then focuses on theories useful in verification and related tasks. These theories include a theory of equality, of integers, of rationals and reals, of recursive data structures, and of arrays.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliographic Remarks

  1. 13.
    A. Church. A note on the Entscheidungsproblem. Journal of Symbolic Logic, 1, 1936.Google Scholar
  2. 59.
    J. McCarthy. A basis for a mathematical theory of computation. Computer Programming and Formal Systems, 1963.Google Scholar
  3. 65.
    G. Nelson and D. C. Oppen. Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2):245–257, October 1979.MATHCrossRefGoogle Scholar
  4. 66.
    G. Nelson and D. C. Oppen. Fast decision procedures based on congruence closure. Journal of the ACM, 27(2):356–364, April 1980.MATHCrossRefGoogle Scholar
  5. 69.
    D. C. Oppen. Reasoning about recursively defined data structures. In Principles of Programming Languages, pages 151–157. ACM Press, 1978.Google Scholar
  6. 73.
    M. Presburger. Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchen die Addition als einzige Operation hervortritt. In Comptes Rendus du Premier Congrés des Mathématicienes des Pays Slaves, pages 92–101, 1929.Google Scholar
  7. 90.
    A. Tarski. A Decision Method for Elementary Algebra and Geometry. University of California Press, 1951.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Personalised recommendations