Certified proofs in programs involving exceptions

Abstract : Exception handling is provided by most modern programming languages. It allows to deal with anomalous or exceptional events which require special processing. In computer algebra, exception handling is an efficient way to implement the dynamic evaluation paradigm: for instance, in linear algebra, dynamic evaluation can be used for applying programs which have been written for matrices with coefficients in a field to matrices with coefficients in a ring. Thus, a proof system for computer algebra should include a treatement of exceptions, which must rely on a careful description of a semantics of exceptions. The categorical notion of monad can be used for formalizing the raising of exceptions: this has been proposed by Moggi and implemented in Haskell. In this paper, we provide a proof system for exceptions which involves both raising and handling, by extending Moggi's approach. Moreover, the core part of this proof system is dual to a proof system for side effects in imperative languages, which relies on the categorical notion of comonad. Both proof systems are implemented in the Coq proof assistant.
Document type :
Conference papers
Complete list of metadatas

Cited literature [18 references]  Display  Hide  Download

Contributor : Jean-Guillaume Dumas <>
Submitted on : Thursday, March 13, 2014 - 1:47:44 PM
Last modification on : Thursday, July 4, 2019 - 9:54:02 AM
Long-term archiving on : Friday, June 13, 2014 - 11:20:47 AM


Files produced by the author(s)


  • HAL Id : hal-00867237, version 3
  • ARXIV : 1310.2338



Jean-Guillaume Dumas, Dominique Duval, Burak Ekici, Jean-Claude Reynaud. Certified proofs in programs involving exceptions. Conference on Intelligent Computer Mathematics Work in Progress, Jul 2014, Coimbra, Portugal. pp.16. ⟨hal-00867237v3⟩



Record views


Files downloads