Verifying a Local Generic Solver in Coq
نویسندگان
چکیده
Fixpoint engines are the core components of program analysis tools and compilers. If these tools are to be trusted, special attention should be paid also to the correctness of such solvers. In this paper we consider the local generic fixpoint solver RLD which can be applied to constraint systems x w fx,x ∈ V , over some lattice D where the right-hand sides fx are given as arbitrary functions implemented in some specification language. The verification of this algorithm is challenging, because it uses higher-order functions and relies on side effects to track variable dependences as they are encountered dynamically during fixpoint iterations. Here, we present a correctness proof of this algorithm which has been formalized by means of the interactive proof assistant Coq.
منابع مشابه
Verifying SAT and SMT in Coq for a fully automated decision procedure
Enjoying the power of SAT and SMT solvers in the Coq proof assistant without compromising soundness requires more than a yes/no answer from them. SAT and SMT solvers should also return a proof witness that can be checked by an external tool. We propose a fully certified checker for such witnesses written in Coq. It can currently check witnesses from the SAT solvers ZChaff and MiniSat and from t...
متن کاملTheorem Proving for Product Lines
Mechanized proof assistants are powerful verification tools, but proof developments can still be difficult and timeconsuming. When verifying a family of related programs, the effort can be reduced by proof reuse. In this paper, we show how to engineer proofs for product lines built from feature modules. Each module contains proof fragments which are composed together to build a complete proof o...
متن کاملExtending SMTCoq , a Certified Checker for SMT ( Extended
This extended abstract reports on current progress of SMTCoq, a communication tool between the Coq proof assistant and external SAT and SMT solvers. Based on a checker for generic first-order certificates implemented and proved correct in Coq, SMTCoq offers facilities both to check external SAT and SMT answers and to improve Coq’s automation using such solvers, in a safe way. Currently supporti...
متن کاملExtending SMTCoq, a Certified Checker for SMT (Extended Abstract)
This extended abstract reports on current progress of SMTCoq, a communication tool between the Coq proof assistant and external SAT and SMT solvers. Based on a checker for generic first-order certificates implemented and proved correct in Coq, SMTCoq offers facilities both to check external SAT and SMT answers and to improve Coq’s automation using such solvers, in a safe way. Currently supporti...
متن کاملFormal Veriication of Microprocessors: a Rst Experiment with the Coq Proof Assistant
We propose in this paper a study of the Coq proof assistant for formally verifying microprocessors. We show that interactive proofs with Coq are only required to verify complex instructions of microprocessors. We give our speciication and veriication methodology and some details about the word library developed in Coq. Two full examples show additional speciication and veriication aspects. We a...
متن کامل