### Abstract

Isabelle's code generator natively supports type classes. For targets that do not have language support for classes and instances, it performs the well-known dictionary translation, as described by Haftmann and Nipkow. This translation happens outside the logic, i.e., there is no guarantee that it is correct, besides the pen-and-paper proof. This work implements a certified dictionary translation that produces new class-free constants and derives equality theorems.

### License

BSD License

### Topics

- Tools

### Session Dict_Construction

- Introduction
- Impossibility
- Dict_Construction
- Termination
- Test_Dict_Construction
- Test_Side_Conditions
- Test_Lazy_Case

### Depends on

- Automatic Data Refinement
- Lazifying case constants
- Haskell’s Show Class in Isabelle/HOL

### Used by

- A Verified Code Generator from Isabelle/HOL to CakeML

## Cite

×

Dict_Construction-AFP

    @article{Dict_Construction-AFP,
      author  = {Lars Hupel},
      title   = {Dictionary Construction},
      journal = {Archive of Formal Proofs},
      month   = {May},
      year    = {2017},
      note    = {\url{https://isa-afp.org/entries/Dict_Construction.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