Language: English Existing skills or strong desire to learn: • functional programming (e.g. OCaml or Haskell), • property-based 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, 1984-now) are invaluable for showing formally that such systems indeed satisfy the properties intended by their designers. However, carrying out formal proofs while designing ...
Expressive static typing disciplines are a powerful way to achieve high-quality software. However, t...
These notes provide a quick introduction to the Coq system and show how it can be used to define log...
International audienceWe propose a new language for writing programs with dependent types on top of ...
Co-designing software or hardware systems and their formal proofs is an appealing idea, with the exp...
Language: English Existing skills or strong desire to learn: • functional programming (e.g. ML or Ha...
While random property-based testing is often an effective way for quickly finding bugs and in-creasi...
Expressions and logical formulas Programming in Coq Propositions and proofs Proving properties of pr...
International audienceIntegrating property-based testing with a proof assistant creates an interesti...
Official ReleaseCoq is a formal proof management system. It provides a formal language to write math...
Computer proof assistants vary along many dimensions. Among the mature implementations, the Coq syst...
We report on the design and preliminary evaluation of a short introductory course on interactive the...
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engine...
Coq is a formal proof management system. It provides a formal language to write mathematical definit...
Property-based random testing can facilitate formal verification, exposing errors early on in the pr...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
Expressive static typing disciplines are a powerful way to achieve high-quality software. However, t...
These notes provide a quick introduction to the Coq system and show how it can be used to define log...
International audienceWe propose a new language for writing programs with dependent types on top of ...
Co-designing software or hardware systems and their formal proofs is an appealing idea, with the exp...
Language: English Existing skills or strong desire to learn: • functional programming (e.g. ML or Ha...
While random property-based testing is often an effective way for quickly finding bugs and in-creasi...
Expressions and logical formulas Programming in Coq Propositions and proofs Proving properties of pr...
International audienceIntegrating property-based testing with a proof assistant creates an interesti...
Official ReleaseCoq is a formal proof management system. It provides a formal language to write math...
Computer proof assistants vary along many dimensions. Among the mature implementations, the Coq syst...
We report on the design and preliminary evaluation of a short introductory course on interactive the...
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engine...
Coq is a formal proof management system. It provides a formal language to write mathematical definit...
Property-based random testing can facilitate formal verification, exposing errors early on in the pr...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
Expressive static typing disciplines are a powerful way to achieve high-quality software. However, t...
These notes provide a quick introduction to the Coq system and show how it can be used to define log...
International audienceWe propose a new language for writing programs with dependent types on top of ...