Affiliation:
1. High Assurance Software Lab/INESC TEC and University of Minho, Braga, Portugal
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Theoretical Computer Science,Software
Cited by
19 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Quantitative relational modelling with QAlloy;Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2022-11-07
2. The Programming of Algebra;Electronic Proceedings in Theoretical Computer Science;2022-06-30
3. Compiling quantamorphisms for the IBM Q Experience;IEEE Transactions on Software Engineering;2021
4. Type your matrices for great good: a Haskell library of typed matrices and applications (functional pearl);Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell;2020-08-09
5. An algebraic framework for minimum spanning tree problems;Theoretical Computer Science;2018-10