### Abstract

This entry provides several monads intended for the development of stand-alone certifiers via code generation from Isabelle/HOL. More specifically, there are three flavors of error monads (the sum type, for the case where all monadic functions are total; an instance of the former, the so called check monad, yielding either success without any further information or an error message; as well as a variant of the sum type that accommodates partial functions by providing an explicit bottom element) and a parser monad built on top. All of this monads are heavily used in the IsaFoR/CeTA project which thus provides many examples of their usage.

### License

BSD License

### Topics

- Computer science/Functional programming

### Session Certification_Monads

- Error_Syntax
- Error_Monad
- Check_Monad
- Strict_Sum
- Parser_Monad
- Misc

### Depends on

- Mutually Recursive Partial Functions
- Haskell’s Show Class in Isabelle/HOL

### Used by

- AI Planning Languages Semantics
- Strong Eventual Consistency of the Collaborative Editing Framework WOOT
- XML

### Auto-related entries

- Deriving class instances for datatypes
- XML
- Generating linear orders for datatypes
- Executable Transitive Closures
- Executable Transitive Closures of Finite Relations

## Cite

×

Certification_Monads-AFP

    @article{Certification_Monads-AFP,
      author  = {Christian Sternagel and René Thiemann},
      title   = {Certification Monads},
      journal = {Archive of Formal Proofs},
      month   = {October},
      year    = {2014},
      note    = {\url{https://isa-afp.org/entries/Certification_Monads.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1
- Feb 22, 2016 : Isabelle2016
- May 27, 2015 : Isabelle2015
- Oct 8, 2014 : Isabelle2014