Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
A Discipline of Programming
Programming with variable functions
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A Decision Procedure for the Correctness of a Class of Programs
Journal of the ACM (JACM)
Decision procedures for extensions of the theory of arrays
Annals of Mathematics and Artificial Intelligence
A formal representation for plans in the programmer's apprentice
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
JELIA'06 Proceedings of the 10th European conference on Logics in Artificial Intelligence
Program verification in SPARK and ACSL: a comparative case study
Ada-Europe'10 Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 48.23 |
A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. The basic concepts include intervals and their partitions, functional restriction, images, pointwise extension of relations, ordering, single-point variation of functions, various equivalence relations for array values, and concatenation. The effectiveness of these ideas is illustrated by informal descriptions of algorithms for binary search and merging, and by a short formal proof.