We show how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and proved correct using elementary logi...
Abstract. The paper presents a deductive framework for proving program equivalence and its application to automatic verification of transformations performed by optimizing compiler...
We present a local relational reasoning method for reasoning about contextual equivalence of expressions in a λ-calculus with recursive types and general references. Our developme...
This paper introduces a semi-supervised distance metric learning algorithm which uses pair-wise equivalence (similarity and dissimilarity) constraints to improve the original dist...
Functional programmers often reason about programs as if they were written in a total language, expecting the results to carry over to non-total (partial) languages. We justify su...
Nils Anders Danielsson, John Hughes, Patrik Jansso...