Towards a linear algebra of programming

  • Authors:
  • José N. Oliveira

  • Affiliations:
  • High Assurance Software Lab/INESC TEC and University of Minho, Braga, Portugal

  • Venue:
  • Formal Aspects of Computing - Celebrating the 60th Birthday of Carroll Morgan
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The algebra of programming (AoP) is a discipline for programming from specifications using relation algebra. Specification vagueness and nondeterminism are captured by relations. (Final) implementations are functions. Probabilistic functions are half way between relations and functions: they express the propensity, or likelihood of ambiguous, multiple outputs. This paper puts forward a basis for a linear algebra of programming (LAoP) extending standard AoP towards probabilistic functions. Because of the quantitative essence of these functions, the allegory of binary relations which supports the AoP has to be extended. We show that, if one restricts to discrete probability spaces, categories of matrices provide adequate support for the extension, while preserving the pointfree reasoning style typical of the AoP.