ICALP 1982: Automata, Languages and Programming pp 458-472

# Algorithmic theories of data structures

• Andrzej Salwicki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 140)

## Abstract

We are arguing that main problems of data structures i.e.
• specification,

• implementation,

• verification,

can be approached and solved by developping and studying theories of data structures which are based on algorithmic logic AL. we propose to specify a data structure by a proper set of algorithmic axioms. Then verification of a corresponding property of a program consists in proving the formula which expresses the property. The proof making use of axioms of the data structure.

We present a case study of the algorithmic theory of priority queues ATPQ. we show that the axiomatization of ATPQ is proper by proving the representation theorem, Namely, every model of the theory is isomorphic with the two-sorted model of a linearly ordered set of elements and the family of all finite subsets of the given set of elements, Next, we prove the correctness of an implementation of priority queues in binary search trees. We relate theoretical results to corresponding modules of software written in LOGLAN programming language. Remarks on dynamization of abstract theories of data structures by adding notion of reference, also axiomatizable in AL, are given. Finally, we compare our approach with others known in the literature.

## Keywords

Inference Rule Finite Subset Priority Queue Dynamic Object Binary Search Tree
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. [1]
Aho,A., Hopcroft,J., ullman,J., The design and analysis of computer algorithms, Addiaon-Wesley, 1974Google Scholar
2. [2]
Banachowski,L., On proving program correctness by means of stepwise refinement method, to appear in Proc. Symp. Algorithmic Logic and LOGLAN in Lecture Notes in Computer ScienceGoogle Scholar
3. [3]
Bartol,W.M.,et al., Report on the LOGLAN programming language Müldner, T., ed University of Warsaw 1981Google Scholar
4. [4]
Dańko,W., A criterion of undecidability of algorithmic theories, in Proc. MFCS'80 P.Dembinski ed. LNCS Springer Vlg vol.88Google Scholar
5. [5]
Engeler,E., Algorithmic properties of structures, Math. Systems Theory 1 (1967), 183–195
6. [6]
Goguen,J. A.,Thatcher,J.W., Wagner,E.G., An initial algebra approach to the specification, correctness and implementation of abstarct data types, IBM Rep. RC 6487(1977)Google Scholar
7. [7]
Guttag,J., Abstract data types... CACM 20 (1977), 396–404
8. [8]
Hoare,C.A.R., Proof of correctness of data representation, Acta Informatica 1 (1972), 271–281
9. [9]
Kfoury.D., Comparing algebraic structures up to algorithmic equivalence in Proc 1-st ICALP'72. North-Holland 1972Google Scholar
10. [10]
Kreczmar,A., Programmability in fields, Fundamenta Informaticae 1 (1977), 195–220
11. [11]
12. [12]
Liskov,B.M., Zilles,S.N., Programming with abstract data types Proc ACM SIGPLAN Symp. on Very High Level languages, SIGPLAN Notices 4 (1974), 50–59
13. [13]
Mazur,S., Computable analysis, Dissertationes Mathematicae 33 (1963 PWN)Publ. WarsawGoogle Scholar
14. [14]
Mirkowska, G., Algorithmic logic and its applications in the theory of programs, Fundamenta Informaticae 1 (1977), 1–17, 147–167
15. [15]
Mirkowska, G.,Algorithmic logic with nondeterministic programs, Fundamenta informaticae 1 (1980), 45–64
16. [16]
OKtaba.H., un algorithmic theory of reference, Ph.D. Thesis university of Warsaw 1981Google Scholar
17. [17]
Salwicki, A., On algorithmic theory of stacks in Proc.MFCS78 J.Winkowski ed. Lecture Notes in Comp.Sci. v. 64, 452–461Google Scholar
18. [18]
Salwicki,A., On the algorithmic theory of dictionaries, in Proc Logic of Programs E. Engeler ed. LNCS vol.125, 145–168Google Scholar
19. [19]
Scott,D., Data types as lattices, SIAM J.Comp. 5(1976), 522–587