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.

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},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/dM},
  doi       = {10.29007/rkxm},
  pages     = {106-118},
  year      = {2015}}
Download PDFOpen PDF in browser