Table of Contents
Fetching ...

On Complexity Bounds and Confluence of Parallel Term Rewriting

Thaïs Baudon, Carsten Fuhs, Laure Gonnord

Abstract

We revisit parallel-innermost term rewriting as a model of parallel computation on inductive data structures and provide a corresponding notion of runtime complexity parametric in the size of the start term. We propose automatic techniques to derive both upper and lower bounds on parallel complexity of rewriting that enable a direct reuse of existing techniques for sequential complexity. Our approach to find lower bounds requires confluence of the parallel-innermost rewrite relation, thus we also provide effective sufficient criteria for proving confluence. The applicability and the precision of the method are demonstrated by the relatively light effort in extending the program analysis tool AProVE and by experiments on numerous benchmarks from the literature.

On Complexity Bounds and Confluence of Parallel Term Rewriting

Abstract

We revisit parallel-innermost term rewriting as a model of parallel computation on inductive data structures and provide a corresponding notion of runtime complexity parametric in the size of the start term. We propose automatic techniques to derive both upper and lower bounds on parallel complexity of rewriting that enable a direct reuse of existing techniques for sequential complexity. Our approach to find lower bounds requires confluence of the parallel-innermost rewrite relation, thus we also provide effective sufficient criteria for proving confluence. The applicability and the precision of the method are demonstrated by the relatively light effort in extending the program analysis tool AProVE and by experiments on numerous benchmarks from the literature.
Paper Structure (10 sections, 15 theorems, 38 equations, 2 figures, 3 tables)

This paper contains 10 sections, 15 theorems, 38 equations, 2 figures, 3 tables.

Key Result

Theorem 3.11

Let $\mathcal{R}$ be a TRS, let $t = f(t_1,\ldots,t_n) \in \mathcal{T}(\Sigma,\mathcal{V})$ such that all $t_i$ are in normal form (this includes all $t \in \mathcal{T}_{\mathrm{basic}}^{\mathcal{R}}$). Then we have $\mathop{\mathrm{dh}}\nolimits(t, \mathrel{{\stackrel{\raisebox{2pt}{\scriptsize $\

Figures (2)

  • Figure 1: Tree size computation in OCaml
  • Figure 2: Input file for Example \ref{['ex:size1']}.

Theorems & Definitions (61)

  • Example 3.1: $\mathsf{size}$
  • Definition 3.2: Derivation Height $\mathop{\mathrm{dh}}\nolimits$, Innermost Runtime Complexity $\mathrm{irc}_{}$ Hirokawa08IJCARDependencyTuple
  • Definition 3.3: Sharp Terms $\mathcal{T}^\sharp$
  • Definition 3.4: Dependency Tuple, DT DependencyTuple
  • Example 3.5
  • Definition 3.6: Chain Tree DependencyTuple
  • Example 3.7
  • Definition 3.8: $\mathit{Cplx}$ DependencyTuple
  • Definition 3.9: DT Problem, Complexity of DT Problem DependencyTuple
  • Example 3.10: Example \ref{['ex:chainTree']} continued
  • ...and 51 more