Skip to main content

Automated reasoning about parallel algorithms using powerlists

  • Refereed Contributions
  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 936))

Abstract

Misra [8] recently introduced a regular data structure, called powerlists, using which he showed how many data parallel algorithms, including Batcher's merge sort, bitonic sort, fast Fourier transform, prefix sum, can be described concisely using recursion. The elegance of these recursive descriptions is further reflected in deducing properties of these algorithms. It is shown in this paper how such proofs can be easily automated in a theorem prover RRL (Rewrite Rule Laboratory) based on equational and rewriting techniques. In particular, the cover set method for automating proofs by induction in RRL generates proofs which preserve the clarity and succinctness, to a large extant, of hand proofs given in [8]. This is illustrated using a correctness proof of Batcher's merge sort algorithm. Mechanically generated proofs from specifications of powerlistsand parallel algorithms using different approaches are contrasted. It is shown that one gets longer, complex proofs with many cases if powerlists are modeled as a subtype of lists. However, if powerlists are specified using a proposal by Kapur [2] in which the algebraic specification method is extended to associate applicability conditions with functions of a data type thus allowing constructors of a data structure to be partial, then one gets compact and elegant proofs, similar to the ones reported in [8]. Applicability conditions can be used to provide contexts for axioms and proofs just like type information. The effectiveness of the proposed axiomatic method becomes all the more evident while reasoning about nested powerlists for modeling n-dimensional arrays, for example, in specifying and reasoning about a transformation for embeddinga multi-dimensional array into a hypercube such that adjacency of nodes is preserved by the transformation. A mechanically generated proof of this property of the embedding transformation, which was not proved in Misra's paper, is discussed in detail. This suggests that the proposed approach for automating reasoning about data parallel algorithms described recursively using powerlists should scale up, especially if structural properties of nested powerlists are built into RRL.

Partially supported by the National Science Foundation Grant no. CCR-9303394 and subcontract CB0249 of SRI contract MDA904-92-C-5186 with The Maryland Procurement Office.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.A. Bergstra, J. Heering, and P. Klint, Algebraic Specification, ACM Press, 1989.

    Google Scholar 

  2. D. Kapur, “Constructors can be partial too,” Technical Report, Dept. of Computer Science, State University of New York, Albany, NY, July 1994.

    Google Scholar 

  3. D. Kapur and X. Nie, “Reasoning about numbers in Tecton,” Proceedings of the 8th International Symposium on Methodologies for Intelligent Systems, (ISMIS'94), Charlotte, North Carolina, October 1994, 57–70.

    Google Scholar 

  4. D. Kapur and M. Subramaniam, “New uses of linear arithmetic in automated theorem proving by induction,” Technical Report, Dept. of Computer Science, SUNY, Albany, NY, Sept. 1994. To appear in J. of Automated Reasoning.

    Google Scholar 

  5. D. Kapur and M. Subramaniam, “Automated reasoning about parallel algorithms using powerlists,” Technical Report, Dept. of Computer Science, SUNY, Albany, NY 12222, Nov. 1994. A longer version of this paper.

    Google Scholar 

  6. D. Kapur, and H. Zhang, “An overview of Rewrite Rule Laboratory (RRL),” J. of Computer and Mathematics with Applications, 29, 2, 1995, 91–114.

    Google Scholar 

  7. D.E. Knuth, Sorting and Searching: The Art of Computer Programming, Vol. 3, Addison-Wesley.

    Google Scholar 

  8. J. Misra, “Powerlist: A structure for parallel recursion,” A Classical Mind: Essays in Honor of C.A.R. Hoare, Prentice Hall, Jan. 1994

    Google Scholar 

  9. Leighton F. T., Introduction to Parallel Algorithms and architectures: Arrays. Trees.Hypercubes, Morgan Kaufmann, 1992.

    Google Scholar 

  10. H. Zhang, D. Kapur, and M.S. Krishnamoorthy, “A mechanizable induction principle for equational specifications,” Proc. 9th Intl. Conf. on Automated Deduction (CADE), Lusk and Overbeek (eds.), LNCS 310, Springer-Verlag, 1988, 250–265.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

V. S. Alagar Maurice Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kapur, D., Subramaniam, M. (1995). Automated reasoning about parallel algorithms using powerlists. In: Alagar, V.S., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1995. Lecture Notes in Computer Science, vol 936. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60043-4_68

Download citation

  • DOI: https://doi.org/10.1007/3-540-60043-4_68

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60043-5

  • Online ISBN: 978-3-540-49410-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics