Vaughan R. Pratt

Learn More
An algorithm is presented which finds all occurrences of one. given string within another, in running time proportional to the sum of the lengths of the strings. The constant of proportionality is low enough to make this algorithm of practical use, and the procedure can also be extended to deal with some more general pattern-matching problems. A theoretical(More)
In this paper we present a new selection algorithm, PICK, and derive by an analysis of its efficiency the (surprising) result that the cost of selection is at most a linear function of the number of input items. In addition, we prove a new lower bound for the cost of selection. The selection problem is perhaps best exemplified by the computation of medians.(More)
This article describes the robot Stanley, which won the 2005 DARPA Grand Challenge. Stanley was developed for high-speed desert driving without manual intervention. The robot’s software system relied predominately on state-of-the-art arti cial intelligence technologies, such as machine learning and probabilistic reasoning. This article describes the major(More)
In Floyd-Hoare logic, programs are dynamic while assertions are static (hold at states). In action logic the two notions become one, with programs viewed as on-the-fly assertions whose truth is evaluated along intervals instead of at states. Action logic is an equational theory ACT conservatively extending the equational theory REG of regular expressions(More)
We briefly survey the major proposals for models of programs and show that they all lead to the same propositional theory of programs. Methods of algebraic logic dominate in the proofs. One of the connections made between the models, that involving language models, is quite counterintuitive. The common theory has already been shown to be complete in(More)
Concurrency has been expressed variously in terms of formal languages (typically via the shuffle operator), partial orders, and temporal logic,inter alia. In this paper we extract from these three approaches a single hybrid approach having a rich language that mixes algebra and logic and having a natural class of models of concurrent processes. The heart of(More)
The phenomena of branching time and true or noninterleaving concurrency find their respective homes in automata and schedules. But these two models of computation are formally equivalent via Birkhoff duality, an equivalence we expound on here in tutorial detail. So why should these phenomena prefer one over the other? We identify dimension as the culprit:(More)
To prove that a number n is composite, it suffices to exhibit the working for the multiplication of a pair of factors. This working, represented as a, string, is of length bounded by a polynomial in log n. We show that the same property holds for the primes. It is noteworthy that almost no other set is known to have the property thatshort proofs for(More)