Extensible and Efficient Automation Through Reflective Tactics
- Gregory Malecha,
- University of California,
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewHost 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, ProceedingsOriginal language
EnglishPages 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, GermanyBook series
- Book series name: Lecture Notes in Computer Science
Volume: 9632
ISSN: 0302-9743
ISBN (Print)
978-3-662-49497-4ISBN (Electronic)
978-3-662-49498-1Publication IDs
- Scopus: 84961684143
Host publication title
Programming Languages and SystemsAbstract
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
Submitted manuscript, 476.29 KB
Related Event
Title
European Symposium on Programming
Event type
ConferenceDegree of recognition
International eventDate
02/04/2016 - 07/04/2016Location
Eindhoven University of TechnologyEindhovenNetherlands
