Certifying Dictionary Construction in Isabelle/HOL

被引:1
作者
Hupel, Lars [1 ]
机构
[1] Tech Univ Munich, Fak Informat, Boltzmannstr 3, D-85748 Garching, Germany
关键词
Isabelle; HOL; type systems; type classes; interactive theorem proving; dictionary construction;
D O I
10.3233/FI-2019-1859
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Type classes are a well-known extension to various type systems. Classes usually participate in type inference; that is, the type checker will automatically deduce class constraints and select appropriate instances. Compilers for such languages face the challenge that concrete instances are generally not directly mentioned in the source text. In the runtime, type class operations need to be packaged into dictionaries that are passed around as pointers. This article presents the most common approach for compilation of type classes - the dictionary construction - carried out in a trustworthy fashion in Isabelle/HOL, a proof assistant. The result is an automatic routine that eliminates occurences of classes and instances from a set of definitions and proves a theorem relating old and new definitions.
引用
收藏
页码:177 / 205
页数:29
相关论文
共 44 条
  • [1] [Anonymous], 2014, CONCRETE SEMANTICS
  • [2] [Anonymous], THESIS
  • [3] [Anonymous], 2013, THESIS
  • [4] Augustsson L., 1993, FPCA '93. Conference on Functional Programming Languages and Computer Architecture, P65, DOI 10.1145/165180.165191
  • [5] Blanchette Jasmin Christian, 2014, Interactive Theorem Proving. 5th International Conference, ITP 2014, Held as Part of the Vienna Summer of Logic, VSL 2014. Proceedings: LNCS 8558, P93, DOI 10.1007/978-3-319-08970-6_7
  • [6] Blanchette JC, 2011, LECT NOTES ARTIF INT, V6989, P12, DOI 10.1007/978-3-642-24364-6_2
  • [7] Blanchette JC, 2017, ARCH FORMAL PROOFS
  • [8] Idris, a general-purpose dependently typed programming language: Design and implementation
    Brady, Edwin
    [J]. JOURNAL OF FUNCTIONAL PROGRAMMING, 2013, 23 (05) : 552 - 593
  • [9] DYNAN WS, 1993, J CELL BIOCHEM, P227
  • [10] FELTY A, 1992, LECT NOTES ARTIF INT, V596, P135, DOI 10.1007/BFb0013606