Introduction to algorithms
A completeness theorem for Kleene algebras and the algebra of regular events
Papers presented at the IEEE symposium on Logic in computer science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Assignment Commands with Array References
Journal of the ACM (JACM)
On Hoare logic and Kleene algebra with tests
ACM Transactions on Computational Logic (TOCL)
Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications
Certification of Compiler Optimizations Using Kleene Algebra with Tests
CL '00 Proceedings of the First International Conference on Computational Logic
Proving Pointer Programs in Hoare Logic
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Propositional modal logic of programs
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
Kleene Algebra with Tests and Program Schematology
Kleene Algebra with Tests and Program Schematology
A Decision Procedure for an Extensional Theory of Arrays
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Axioms and theorems for a theory of arrays
IBM Journal of Research and Development
From Comodels to Coalgebras: State and Arrays
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The formal analysis of programs with arrays is a notoriously difficult problem due largely to aliasing considerations. In this paper we augment the rules of Kleene algebra with tests (KAT) with rules for the equational manipulation of arrays in the style of schematic KAT. These rules capture and make explicit the essence of subscript aliasing, where two array accesses can be to the same element. We prove the soundness of our rules, as well as illustrate their usefulness with several examples, including a complete proof of the correctness of heapsort.