A Quick Hack to ask any SMT Solver if my Coq Goal is True
Suppose I am despairing on a Coq proof goal about integers, but omega, lia, nia etc don’t work, and I don’t even know if my goal is true at all. Before continuing my proof, I’d like a quick diagnosis, by a bleeding edge tool, on whether the goal actually is true, but I don’t feel like installing any plugins or additional tools. In this talk, I will demo a quick way to achieve this: I will go to https://github.com/samuelgruetter/coq-smt-notations, copy-paste a few lines of Ltac and Coq notations right into my proof buffer (no need to compile anything or to reprocess anything in the IDE), and I get the negation of my goal printed in smtlib format. I don’t even need to install an SMT solver, but I can just copy-paste this into the online Z3 solver available at https://rise4fun.com/z3, and immediately get “unsat”, which means I should continue my proof, or a counterexample, which helps me figure out what’s wrong.
Tue 19 JunDisplayed time zone: Eastern Time (US & Canada) change
16:10 - 17:35 | |||
16:10 5mTalk | 5-minute Lightning Talks DeepSpec | ||
16:15 5mTalk | Simplicity for Smart Contracts DeepSpec | ||
16:20 5mTalk | Machine-Verified Machine Learning DeepSpec Gordon Stewart Ohio University | ||
16:25 5mTalk | Verification of Union-Find in C DeepSpec | ||
16:30 5mTalk | Narcissus: Deriving Correct-By-Construction Decoders and Encoders from Binary Formats DeepSpec Clément Pit-Claudel MIT CSAIL | ||
16:35 5mTalk | LLVM's IR and Call-By-Push-Value Lambda Calculus DeepSpec | ||
16:40 5mTalk | A Formal Equational Theory for Call-By-Push-Value DeepSpec Christine Rizkallah The University of Melbourne | ||
16:45 5mTalk | Serializability for Distributed Protocols DeepSpec Joonwon Choi Massachusetts Institute of Technology, USA | ||
16:50 5mTalk | A Quick Hack to ask any SMT Solver if my Coq Goal is True DeepSpec Samuel Gruetter Massachusetts Institute of Technology |