Jared Davis's research while affiliated with University of Texas at Austin and other places

Publications (8)

Article
Rewriting with lemmas is a central strategy in interactive theorem provers. We describe the Milawa rewriter, which makes use of assumptions, cal-culation, and conditional rewrite rules to simplify the terms of a first-order logic. We explain how we have developed an ACL2 proof showing the rewriter is sound, and how this proof can accommodate our re...
Conference Paper
We have written a new records library for modelling fixed- size arrays and linear memories. Our implementation pro- vides fixnum-optimized O(log2 n) reads and writes from ad- dresses 0,1,...,n 1. Space is not allocated until locations are used, so large address spaces can be represented. We do not use single-threaded objects or ACL2 arrays, which f...
Conference Paper
We introduce the logical story behind file input in ACL2 and discuss the types of theorems that can be proven about file-reading operations. We develop a low level library for reasoning about the primitive input routines. We then develop a representation for Unicode text, and implement efficient functions to translate our representation to and from...
Article
We present a new finite set theory implementation for ACL2 wherein sets are implemented as fully ordered lists. This order unifies the notions of set equality and element equality by creating a unique represen-tation for each set, which in turn enables nested sets to be trivially supported and eliminates the need for congruence rules. We demonstrat...
Conference Paper
Full-text available
The SSP is a high assurance systems engineering effort spanning both hardware and software. Extensive design review, first principle design, n-version programming, program transformation, verification, and consistency checking are the techniques used to provide assurance in the correctness of the resulting system.
Article
We prove the equivalence of a function that efficiently recog-nizes XML name characters with its specification in ACL2. We conduct the proof by reducing the search space to a finite set of cases, then ef-ficiently and exhaustively testing the remaining cases by executing a hand-written function. Our proof is possible because of the way ACL2 integra...
Article
We present a finite set theory implementation for ACL2. Our library represents sets as fully ordered lists, and provides efficient implementations of the typical set theory operations such as insertion, deletion, union, intersection, difference, cardinality, and sorting lists to create sets. It also includes facilities for quantifying predicates ov...

Citations

... @BULLET The std/osets [5] library functions treat non-sets as nil. ...
Reference: Fix Your Types
... Records [22] are data storing structures that can be accessed by the user for reading as well as writing data in memories. A record can hence be considered as a simple abstraction for the memory. ...
Citing conference paper
... Davis [8] used exhaustive testing to prove lemmas toward the correctness of UTF-8 processing functions . The most difficult proof carried out this way was a well-formedness and inversion property for four-byte UTF-8 sequences, which involved checking 2 32 cases. ...
Citing conference paper
... The SCORE processor [6] is a hardware implementation of the JVM [7] being designed at Sandia National Laboratories , that is similar to the Java Card [8,9], for use in resource-constrained embedded applications.Table 1 gives an overview of the features not supported by the SCORE. We would like to mention that the SCORE does support general exceptions, just not run-time assertions. ...