Skip to search boxSkip to navigationSkip to main content

Extensible and Efficient Automation Through Reflective Tactics

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Host publication Subtitle

25th European Symposium on Programming, ESOP 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2–8, 2016, Proceedings

Original language

English

Pages from-to (Number of pages)

Pages 532-559 (28 pages)

Publication milestones

  • Published - 22/03/2016

Publication status

Published - 22/03/2016

Publisher

Springer, United States, Germany

Book series

  • Book series name: Lecture Notes in Computer Science
    Volume: 9632
    ISSN: 0302-9743
978-3-662-49497-4

ISBN (Electronic)

978-3-662-49498-1

Publication IDs

  • Scopus: 84961684143

Host publication title

Programming Languages and Systems

Abstract

Foundational proof assistants simultaneously offer both expressive logics and strong guarantees. The price they pay for this flexibility is often the need to build and check explicit proof objects which can be expensive. In this work we develop a collection of techniques for building reflective automation, where proofs are witnessed by verified decision procedures rather than verbose proof objects. Our techniques center around a verified domain specific language for proving, Rtac, written in Gallina, Coq’s logic. The design of tactics makes it easy to combine them into higher-level automation that can be proved sound in a mostly automated way. Furthermore, unlike traditional uses of reflection, Rtac tactics are independent of the underlying problem domain. This allows them to be re-tasked to automate new problems with very little effort. We demonstrate the usability of Rtac through several case studies demonstrating orders of magnitude speedups for relatively little engineering work.

Publication metrics

PlumX, opens in new tab

Citations
12
Captures
6

Access to documents

Related Event

Title

European Symposium on Programming

Event type

Conference

Degree of recognition

International event

Date

02/04/2016 - 07/04/2016

Location

Eindhoven University of TechnologyEindhovenNetherlands