OCaml does come up in some advanced uses of Coq (if you want to write plug-ins), but for the most part, you can just think of it as the "assembly" that runs your proof assistant. It is designed to build and verify mathematical proofs. For example, adding high-level syntax for your own calling convention or exception handling. Structured: Bedrock is an extensible programming language: any client program may add new control flow constructs by providing their proof rules. It also includes a basic functional programming language. #Coq programming language fullBut just like other programming languages, how the language and tools are implemented should almost never be visible within the language: whether it is self-hosted, built using C, assembly, or what not, is an implementation detail to some extent. Bedrock supports that model, backed by the full expressive power of Coq's usual programming language. Fiat is a synthesis framework for the Coq proof assistant that combines foundational ideas from programming language and formal methods to build an. As a logical system it implements higher-order logic including arithmetic. Now, the Coq system (the type-checker, the compiler, the IDE, etc.) is built using OCaml as the programming language for building the language and tools. The tutorial is tailored to people who are familiar with syntactic proofs of programming language metatheory, such as type soundness, but have never used a proof assistant to create and check such proofs. In certain proof assistants, the language with which you build your programs is a separate one from the language in which you build your specifications, and the language in which you build your proofs could even be a third language! In Coq, you are able to use Gallina for all three of these tasks, because it uses a unifying framework that supports all those endeavors. The speakers will present a hands-on tutorial on the use of the Coq proof assistant in formalizing programming language metatheory. Gallina is both the "programming language" and the "specification language" of Coq.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |