A method for combining decision procedures for several theories into a single decision procedure for their combination is described, and a simplifier based on this method is discussed. The simplifierâ€¦ (More)

The notion of the <italic>congruence closure</italic> of a relation on a graph is defined and several algorithms for computing it are surveyed. A simple proof is given that the congruence closureâ€¦ (More)

A decision algorithm is given for the quantifier-free theory of recursively defined data structures which, for a conjunction of length n, decides its satisfiability in time linear in n. Theâ€¦ (More)

We consider the problem of naming and locating objects in a distributed environment, and describe the clearinghouse-a decentralized agent for supporting networkvisible objects. Binding is anâ€¦ (More)

An algorithm for prettyprinting is given. For an input stream of length <italic>n</italic> and an output device with linewidth <italic>m</italic>, the algorithm requires timeâ€¦ (More)

This paper presents a new version of Hoare's logic including generalized procedure call and assignment rules which correctly handle aliased variables. Formal justifications are given for the newâ€¦ (More)

We present a new version of Hoare's logic that correctly handles programs with aliased variables. The central proof rules of the logic (procedure call and assignment) are proved sound and complete.

We describe a simplifier for use in program manipulation and verification. The simplifier finds a normal form for any expression over the language consisting of individual variables, the usualâ€¦ (More)