Abstract
Sparse matrix formats are typically implemented with low-level imperative programs. The optimized nature of these implementations hides the structural organization of the sparse format and complicates its verification. We define a variable-free functional language (LL) in which even advanced formats can be expressed naturally, as a pipeline-style composition of smaller construction steps. We translate LL programs to Isabelle/HOL and describe a proof system based on parametric predicates for tracking relationship between mathematical vectors and their concrete representations. This proof theory automatically verifies full functional correctness of many formats. We show that it is reusable and extensible to hierarchical sparse formats.
Original language | English |
---|---|
Pages (from-to) | 249-260 |
Number of pages | 12 |
Journal | ACM SIGPLAN Notices |
Volume | 45 |
Issue number | 9 |
DOIs | |
State | Published - Sep 2010 |