English

Encoding Monomorphic and Polymorphic Types

Logic in Computer Science 2019-03-14 v3

Abstract

Many automatic theorem provers are restricted to untyped logics, and existing translations from typed logics are bulky or unsound. Recent research proposes monotonicity as a means to remove some clutter when translating monomorphic to untyped first-order logic. Here we pursue this approach systematically, analysing formally a variety of encodings that further improve on efficiency while retaining soundness and completeness. We extend the approach to rank-1 polymorphism and present alternative schemes that lighten the translation of polymorphic symbols based on the novel notion of "cover". The new encodings are implemented in Isabelle/HOL as part of the Sledgehammer tool. We include informal proofs of soundness and correctness, and have formalised the monomorphic part of this work in Isabelle/HOL. Our evaluation finds the new encodings vastly superior to previous schemes.

Keywords

Cite

@article{arxiv.1609.08916,
  title  = {Encoding Monomorphic and Polymorphic Types},
  author = {Jasmin Christian Blanchette and Sascha Böhme and Andrei Popescu and Nicholas Smallbone},
  journal= {arXiv preprint arXiv:1609.08916},
  year   = {2019}
}

Comments

LMCS-2014-1018

R2 v1 2026-06-22T16:04:08.900Z