Download PDFOpen PDF in browser

Compiling Hilbert's epsilon operator

13 pagesPublished: December 18, 2015

Abstract

Hilbert's epsilon operator is a binder that picks an arbitrary element from
a nonempty set. The operator is typically used in logics and proof engines.
This paper contributes a discussion of considerations in supporting this operator
in a programming language. More specifically, the paper presents the design choices
made around supporting this operator in the verification-aware language Dafny.

Keyphrases: Choose operator, compilation, Encoding for SMT solver, Hilbert's epsilon operator, Russell's definite description operator, Verification-aware programming language

In: Ansgar Fehnker, Annabelle McIver, Geoff Sutcliffe and Andrei Voronkov (editors). LPAR-20. 20th International Conferences on Logic for Programming, Artificial Intelligence and Reasoning - Short Presentations, vol 35, pages 106--118

Links:
BibTeX entry
@inproceedings{LPAR-20:Compiling_Hilberts_epsilon_operator,
  author    = {Rustan Leino},
  title     = {Compiling Hilbert's epsilon operator},
  booktitle = {LPAR-20. 20th International Conferences on Logic for Programming, Artificial Intelligence and Reasoning - Short Presentations},
  editor    = {Ansgar Fehnker and Annabelle McIver and Geoff Sutcliffe and Andrei Voronkov},
  series    = {EPiC Series in Computing},
  volume    = {35},
  pages     = {106--118},
  year      = {2015},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/dM},
  doi       = {10.29007/rkxm}}
Download PDFOpen PDF in browser