Title
Program certification with computational effects.
Abstract
Dynamic evaluation is a paradigm in computer algebra which was introduced for computing with algebraic numbers. In linear algebra, for instance, dynamic evaluation can be used to apply programs which have been written for matrices with coefficients modulo some prime number to matrices with coefficients modulo some composite number. A way to implement dynamic evaluation in modern computing languages is to use the exceptions mechanism provided by the language. In this paper, we pesent a proof system for exceptions which involves both raising and handling, by extending Moggi's approach based on monads. Moreover, the core part of this proof system is dual to a proof system for the state effect in imperative languages, which relies on the categorical notion of comonad. Both proof systems are implemented in the Coq proof assistant, and they are combined in order to deal with both effects at the same time.
Year
Venue
Field
2014
CoRR
Linear algebra,Discrete mathematics,Prime number,Algebraic number,Programming language,Modulo,Computer science,Algorithm,Symbolic computation,Imperative programming,Monad (functional programming),Proof assistant
DocType
Volume
Citations 
Journal
abs/1411.7140
0
PageRank 
References 
Authors
0.34
0
4
Name
Order
Citations
PageRank
Jean-Guillaume Dumas142868.48
Dominique Duval210321.52
Burak Ekici353.14
Damien Pous424031.00