Automated Reasoning About Parallel Algorithms Using Powerlists

  • Authors:
  • Kapur D.;Subramaniam M.

  • Affiliations:
  • -;-

  • Venue:
  • Automated Reasoning About Parallel Algorithms Using Powerlists
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Misra [Mi] 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 [Mi]. This is illustrated using a correctness proof of Batcher''s merge sort algorithm. Mechanically generated proofs from specifications of powerlists and 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 [Kapur] 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 [Mi]. 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 embedding a 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 problem was presented as a challenge by Misra in private communication to test the effectiveness of the proposed approach. This suggests that the proposed approach for automating reasoning about data parallel algorithms and hardware circuits described recursively using powerlists should scale up, especially if structural properties of nested powerlists are built into RRL.