Results 1 
2 of
2
Proofs in Satisfiability Modulo Theories
"... Satisfiability Modulo Theories (SMT) solvers4 check the satisfiability of firstorder formulas written in a language containing interpreted predicates and functions. These interpreted symbols are defined either by firstorder axioms (e.g. the axioms of equality, or array axioms for operators read a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT) solvers4 check the satisfiability of firstorder formulas written in a language containing interpreted predicates and functions. These interpreted symbols are defined either by firstorder axioms (e.g. the axioms of equality, or array axioms for operators read and write,...) or by a
QuickChick: PropertyBased Testing for Coq
"... Language: English Existing skills or strong desire to learn: • functional programming (e.g. OCaml or Haskell), • propertybased testing (e.g. QuickCheck), • interactive theorem proving in the Coq proof assistant, • optional: SSReflect, logic programming, constraint programming, probabilistic program ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Language: English Existing skills or strong desire to learn: • functional programming (e.g. OCaml or Haskell), • propertybased testing (e.g. QuickCheck), • interactive theorem proving in the Coq proof assistant, • optional: SSReflect, logic programming, constraint programming, probabilistic programming Research Context Designing complex systems that provide strong safety and security guarantees is challenging (e.g. programming languages, language compilers and runtimes, reference monitors, operating systems, hardware, etc). Proof assistants such as Coq (The Coq team, 1984now) are invaluable for showing formally that such systems indeed satisfy the properties intended by their designers. However, carrying out formal proofs while designing even a relatively simple system can be an exercise in frustration, with a great deal of time spent attempting to prove things about broken definitions, and countless iterations for discovering the correct lemmas and strengthening inductive invariants. The longterm goal of this project1 is to reduce the cost of producing formally verified systems by integrating