296 lines
46 KiB
Plaintext
296 lines
46 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Coq [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m
|
||
|
||
[38;5;12m (https://github.com/coq-community/manifesto)[39m
|
||
|
||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA curated list of awesome Coq libraries, plugins, tools, and resources.[39m
|
||
|
||
[38;5;12mThe [39m[38;5;14m[1mCoq proof assistant[0m[38;5;12m (https://coq.inria.fr) provides a formal language to write mathematical definitions, executable algorithms, and theorems, together with an environment for semi-interactive development of machine-checked proofs.[39m
|
||
|
||
[38;5;12mContributions welcome! Read the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (https://github.com/coq-community/awesome-coq/blob/master/CONTRIBUTING.md) first.[39m
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mProjects[0m[38;5;12m (#projects)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mFrameworks[0m[38;5;12m (#frameworks)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mUser Interfaces[0m[38;5;12m (#user-interfaces)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLibraries[0m[38;5;12m (#libraries)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mPackage and Build Management[0m[38;5;12m (#package-and-build-management)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mPlugins[0m[38;5;12m (#plugins)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mPuzzles and Games[0m[38;5;12m (#puzzles-and-games)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mType Theory and Mathematics[0m[38;5;12m (#type-theory-and-mathematics)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVerified Software[0m[38;5;12m (#verified-software)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mResources[0m[38;5;12m (#resources)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mCommunity[0m[38;5;12m (#community)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mBlogs[0m[38;5;12m (#blogs)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mCourse Material[0m[38;5;12m (#course-material)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTutorials and Hints[0m[38;5;12m (#tutorials-and-hints)[39m
|
||
|
||
[38;5;238m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――[39m
|
||
|
||
[38;2;255;187;0m[4mProjects[0m
|
||
|
||
[38;2;255;187;0m[4mFrameworks[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mConCert[0m[38;5;12m (https://github.com/AU-COBRA/ConCert) - Framework for smart contract testing and verification featuring a code extraction pipeline to several smart contract languages.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqEAL[0m[38;5;12m (https://github.com/CoqEAL/CoqEAL) - Framework to ease change of data representations in proofs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFCF[0m[38;5;12m (https://github.com/adampetcher/fcf) - Framework for proofs of cryptography.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFiat[0m[38;5;12m (https://github.com/mit-plv/fiat) - Mostly automated synthesis of correct-by-construction programs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFreeSpec[0m[38;5;12m (https://github.com/lthms/FreeSpec) - Framework for modularly verifying programs with effects and effect handlers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHoare Type Theory[0m[38;5;12m (https://github.com/imdea-software/htt/) - A shallow embedding of sequential separation logic formulated as a type theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHybrid[0m[38;5;12m (https://www.site.uottawa.ca/~afelty/HybridCoq/) - System for reasoning using higher-order abstract syntax representations of object logics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIris[0m[38;5;12m (https://iris-project.org) - Higher-order concurrent separation logic framework.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mQ[0m[38;5;14m[1m*cert[0m[38;5;12m (https://github.com/querycert/qcert) - Platform for implementing and verifying query compilers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSSProve[0m[38;5;12m (https://github.com/SSProve/ssprove) - Framework for modular cryptographic proofs based on the Mathematical Components library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVCFloat[0m[38;5;12m (https://github.com/VeriNum/vcfloat) - Framework for verifying C programs with floating-point computations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVerdi[0m[38;5;12m (https://github.com/uwplse/verdi) - Framework for formally verifying distributed systems implementations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVST[0m[38;5;12m (https://vst.cs.princeton.edu) - Toolchain for verifying C code inside Coq in a higher-order concurrent, impredicative separation logic that is sound w.r.t. the Clight language of the CompCert compiler.[39m
|
||
|
||
[38;2;255;187;0m[4mUser Interfaces[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCoqIDE[0m[38;5;12m (https://coq.inria.fr/refman/practical-tools/coqide.html) - Standalone graphical tool for interacting with Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqtail[0m[38;5;12m (https://github.com/whonore/Coqtail) - Interface for Coq based on the Vim text editor.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq LSP[0m[38;5;12m (https://github.com/ejgallego/coq-lsp) - Language server and extension for the Visual Studio Code and VSCodium editors with custom document checking engine.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mProof General[0m[38;5;12m (https://proofgeneral.github.io) - Generic interface for proof assistants based on the extensible, customizable text editor Emacs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCompany-Coq[0m[38;5;12m (https://github.com/cpitclaudel/company-coq) - IDE extensions for Proof General's Coq mode.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mopam-switch-mode[0m[38;5;12m (https://github.com/ProofGeneral/opam-switch-mode) - IDE extension for Proof General to locally change or reset the opam switch from a menu or using a command.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mjsCoq[0m[38;5;12m (https://github.com/jscoq/jscoq) - Port of Coq to JavaScript, which enables running Coq projects in a browser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJupyter kernel for Coq[0m[38;5;12m (https://github.com/EugeneLoy/coq_jupyter) - Coq support for the Jupyter Notebook web environment.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVsCoq[0m[38;5;12m (https://github.com/coq-community/vscoq) - Language server and extension for the Visual Studio Code and VSCodium editors.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVsCoq Legacy[0m[38;5;12m (https://github.com/coq-community/vscoq/tree/vscoq1) - Backwards-compatible extension for the Visual Studio Code and VSCodium editors using Coq's legacy XML protocol.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWaterproof editor[0m[38;5;12m (https://github.com/impermeable/waterproof) - Educational environment for writing mathematical proofs in interactive notebooks.[39m
|
||
|
||
[38;2;255;187;0m[4mLibraries[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mALEA[0m[38;5;12m (https://github.com/coq-community/alea) - Library for reasoning on randomized algorithms.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAlgebra Tactics[0m[38;5;12m (https://github.com/math-comp/algebra-tactics) - Ring and field tactics for Mathematical Components.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBignums[0m[38;5;12m (https://github.com/coq/bignums) - Library of arbitrarily large numbers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBedrock Bit Vectors[0m[38;5;12m (https://github.com/mit-plv/bbv) - Library for reasoning on fixed precision machine words.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCertiGraph[0m[38;5;12m (https://github.com/Salamari/CertiGraph) - Library for reasoning about directed graphs and their embedding in separation logic.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoLoR[0m[38;5;12m (https://github.com/fblanqui/color) - Library on rewriting theory, lambda-calculus and termination, with sub-libraries on common data structures extending the Coq standard library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq-haskell[0m[38;5;12m (https://github.com/jwiegley/coq-haskell) - Library smoothing the transition to Coq for Haskell users.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq-Kruskal[0m[38;5;12m (https://github.com/DmxLarchey/Coq-Kruskal) - Collection of libraries related to rose trees and Kruskal's tree theorem.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqInterval[0m[38;5;12m (https://gitlab.inria.fr/coqinterval/interval/) - Tactics for performing proofs of inequalities on expressions of real numbers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq record update[0m[38;5;12m (https://github.com/tchajed/coq-record-update) - Library which provides a generic way to update Coq record fields.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq-std++[0m[38;5;12m (https://gitlab.mpi-sws.org/iris/stdpp) - Extended alternative standard library for Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mExtLib[0m[38;5;12m (https://github.com/coq-community/coq-ext-lib) - Collection of theories and plugins that may be useful in other Coq developments.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFCSL-PCM[0m[38;5;12m (https://github.com/imdea-software/fcsl-pcm) - Formalization of partial commutative monoids as used in verification of pointer-manipulating programs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFlocq[0m[38;5;12m (https://gitlab.inria.fr/flocq/flocq) - Formalization of floating-point numbers and computations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFormalised Undecidable Problems[0m[38;5;12m (https://github.com/uds-psl/coq-library-undecidability) - Library of undecidable problems and reductions between them.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHahn[0m[38;5;12m (https://github.com/vafeiadis/hahn) - Library for reasoning on lists and binary relations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mInteraction Trees[0m[38;5;12m (https://github.com/DeepSpec/InteractionTrees) - Library for representing recursive and impure programs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLibHyps[0m[38;5;12m (https://github.com/Matafou/LibHyps) - Library of Ltac tactics to manage and manipulate hypotheses in proofs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMathComp Extra[0m[38;5;12m (https://github.com/thery/mathcomp-extra) - Extra material for the Mathematical Components library, including the AKS primality test and RSA encryption and decryption.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMczify[0m[38;5;12m (https://github.com/math-comp/mczify) - Library enabling Micromega arithmetic solvers to work when using Mathematical Components number definitions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMetalib[0m[38;5;12m (https://github.com/plclub/metalib) - Library for programming language metatheory using locally nameless variable binding representations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPaco[0m[38;5;12m (http://plv.mpi-sws.org/paco/) - Library for parameterized coinduction.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRegular Language Representations[0m[38;5;12m (https://github.com/coq-community/reglang) - Translations between different definitions of regular languages, including regular expressions and automata.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRelation Algebra[0m[38;5;12m (https://github.com/damien-pous/relation-algebra) - Modular formalization of algebras with heterogeneous binary relations as models.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSimple IO[0m[38;5;12m (https://github.com/Lysxia/coq-simple-io) - Input/output monad with user-definable primitive operations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTLC[0m[38;5;12m (https://github.com/charguer/tlc) - Non-constructive alternative to Coq's standard library.[39m
|
||
|
||
[38;2;255;187;0m[4mPackage and Build Management[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mcoq_makefile[0m[38;5;12m (https://coq.inria.fr/refman/practical-tools/utilities.html) - Build tool distributed with Coq and based on generating a makefile.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Nix Toolbox[0m[38;5;12m (https://github.com/coq-community/coq-nix-toolbox) - Nix helper scripts to automate local builds and continuous integration for Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Package Index[0m[38;5;12m (https://coq.inria.fr/opam/www/) - Collection of Coq packages based on opam.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Platform[0m[38;5;12m (https://github.com/coq/platform) - Curated collection of packages to support Coq use in industry, education, and research.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq-community Templates[0m[38;5;12m (https://github.com/coq-community/templates) - Templates for generating configuration files for Coq projects.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDebian Coq packages[0m[38;5;12m (https://people.debian.org/~jpuydt/coq_platform.html) - Coq-related packages available in the testing distribution of Debian.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDocker-Coq[0m[38;5;12m (https://github.com/coq-community/docker-coq) - Docker images for many versions of Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDocker-MathComp[0m[38;5;12m (https://github.com/math-comp/docker-mathcomp) - Docker images for many combinations of versions of Coq and the Mathematical Components library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDocker-Coq GitHub Action[0m[38;5;12m (https://github.com/marketplace/actions/docker-coq-action) - GitHub container action that can be used with Docker-Coq or Docker-MathComp.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDune[0m[38;5;12m (https://dune.build) - Composable and opinionated build system for OCaml and Coq (former jbuilder).[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNix[0m[38;5;12m (https://nixos.org/nix/) - Package manager for Linux and other Unix systems, supporting atomic upgrades and rollbacks.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNix Coq packages[0m[38;5;12m (https://search.nixos.org/packages?channel=unstable&query=coqPackages) - Collection of Coq-related packages for Nix.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mopam[0m[38;5;12m (https://opam.ocaml.org) - Flexible and Git-friendly package manager for OCaml and Coq with multiple compiler support.[39m
|
||
|
||
[38;2;255;187;0m[4mPlugins[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAAC Tactics[0m[38;5;12m (https://github.com/coq-community/aac-tactics) - Tactics for rewriting universally quantified equations, modulo associativity and commutativity of some operator.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoinduction[0m[38;5;12m (https://github.com/damien-pous/coinduction) - Plugin for doing proofs by enhanced coinduction.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq-Elpi[0m[38;5;12m (https://github.com/LPCIC/coq-elpi) - Extension framework based on λProlog providing an extensive API to implement commands and tactics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqHammer[0m[38;5;12m (https://github.com/lukaszcz/coqhammer) - General-purpose automated reasoning hammer tool that combines learning from previous proofs with the translation of problems to automated provers and the reconstruction of found proofs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mEquations[0m[38;5;12m (https://github.com/mattam82/Coq-Equations) - Function definition package for Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGappa[0m[38;5;12m (https://gitlab.inria.fr/gappa/coq) - Tactic for discharging goals about floating-point arithmetic and round-off errors.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHierarchy Builder[0m[38;5;12m (https://github.com/math-comp/hierarchy-builder) - Collection of commands for declaring Coq hierarchies based on packed classes.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mItauto[0m[38;5;12m (https://gitlab.inria.fr/fbesson/itauto) - SMT-like tactics for combined propositional reasoning about function symbols, constructors, and arithmetic.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLtac2[0m[38;5;12m (https://coq.inria.fr/refman/proof-engine/ltac2.html) - Experimental typed tactic language similar to Coq's classic Ltac language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMetaCoq[0m[38;5;12m (https://github.com/MetaCoq/metacoq) - Project formalizing Coq in Coq and providing tools for manipulating Coq terms and developing certified plugins.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMtac2[0m[38;5;12m (https://github.com/Mtac2/Mtac2) - Plugin adding typed tactics for backward reasoning.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mParamcoq[0m[38;5;12m (https://github.com/coq-community/paramcoq) - Plugin to generate parametricity translations of Coq terms.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mQuickChick[0m[38;5;12m (https://github.com/QuickChick/QuickChick) - Plugin for randomized property-based testing.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSMTCoq[0m[38;5;12m (https://github.com/smtcoq/smtcoq) - Tool that checks proof witnesses coming from external SAT and SMT solvers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTactician[0m[38;5;12m (https://coq-tactician.github.io) - Interactive tool which learns from previously written tactic scripts across all the installed Coq packages and suggests the next tactic to be executed or tries to automate proof synthesis fully.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUnicoq[0m[38;5;12m (https://github.com/unicoq/unicoq) - Plugin that replaces the existing unification algorithm with an enhanced one.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWaterproof proof language[0m[38;5;12m (https://github.com/impermeable/coq-waterproof) - Plugin providing a language for writing proof scripts in a style that resembles non-mechanized mathematical proof.[39m
|
||
|
||
[38;2;255;187;0m[4mPuzzles and Games[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCoqoban[0m[38;5;12m (https://github.com/coq-community/coqoban) - Coq implementation of Sokoban, the Japanese warehouse keepers' game.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHanoi[0m[38;5;12m (https://github.com/thery/hanoi) - The Tower of Hanoi puzzle in Coq, including generalizations and theorems about configurations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMini-Rubik[0m[38;5;12m (https://github.com/thery/minirubik) - Coq formalization and solver of the 2x2x2 version of the Rubik's Cube puzzle.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mName the Biggest Number[0m[38;5;12m (https://github.com/codyroux/name-the-biggest-number) - Repository for submitting proven contenders for the title of biggest number in Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNatural Number Game[0m[38;5;12m (https://github.com/uncomputable/natural-number-game) - Coq version of the natural number game developed for the Lean prover.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSudoku[0m[38;5;12m (https://github.com/coq-community/sudoku) - Formalization and solver of the Sudoku number-placement puzzle in Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mT2048[0m[38;5;12m (https://github.com/thery/T2048) - Coq version of the 2048 sliding tile game.[39m
|
||
|
||
[38;2;255;187;0m[4mTools[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAlectryon[0m[38;5;12m (https://github.com/cpitclaudel/alectryon) - Collection of tools for writing technical documents that mix Coq code and prose.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAutosubst-ocaml[0m[38;5;12m (https://github.com/uds-psl/autosubst-ocaml) - Tool that generates Coq code for handling binders in syntax, such as for renaming and substitutions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCFML[0m[38;5;12m (https://gitlab.inria.fr/charguer/cfml2) - Tool for proving properties of OCaml programs in separation logic.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq2html[0m[38;5;12m (https://github.com/xavierleroy/coq2html) - Alternative HTML documentation generator for Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoqdoc[0m[38;5;12m (https://coq.inria.fr/refman/using/tools/coqdoc.html) - Standard documentation tool that generates LaTeX or HTML files from Coq code.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqOfOCaml[0m[38;5;12m (https://github.com/clarus/coq-of-ocaml) - Tool for generating idiomatic Coq from OCaml code.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq-dpdgraph[0m[38;5;12m (https://github.com/coq-community/coq-dpdgraph) - Tool for building dependency graphs between Coq objects.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq-scripts[0m[38;5;12m (https://github.com/JasonGross/coq-scripts) - Scripts for dealing with Coq files, including tabulating proof times.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcoq-tools[0m[38;5;12m (https://github.com/JasonGross/coq-tools) - Scripts for manipulating Coq developments.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mfind-bug.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/find-bug.py) - Automatically minimizes source files producing an error, creating small test cases for Coq bugs.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mabsolutize-imports.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/absolutize-imports.py) - Processes source files to make loading of dependencies robust against shadowing of file names.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1minline-imports.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/inline-imports.py) - Creates stand-alone source files from developments by inlining the loading of all dependencies.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mminimize-requires.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/minimize-requires.py) - Removes loading of unused dependencies.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mmove-requires.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/move-requires.py) - Moves all dependency loading statements to the top of source files.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mmove-vernaculars.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/move-vernaculars.py) - Lifts many vernacular commands and inner lemmas out of proof script blocks.[39m
|
||
[38;5;12m - [39m[48;5;235m[38;5;249m[1mproof-using-helper.py[0m[38;5;12m (https://github.com/JasonGross/coq-tools/blob/master/proof-using-helper.py) - Modifies source files to include proof annotations for faster parallel proving.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCosette[0m[38;5;12m (https://github.com/uwdb/Cosette) - Automated solver for reasoning about SQL query equivalences.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mhs-to-coq[0m[38;5;12m (https://github.com/plclub/hs-to-coq) - Converter from Haskell code to equivalent Coq code.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlngen[0m[38;5;12m (https://github.com/plclub/lngen) - Tool for generating locally nameless Coq definitions and proofs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMenhir[0m[38;5;12m (http://gallium.inria.fr/~fpottier/menhir/) - Parser generator that can output Coq code for verified parsers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mmCoq[0m[38;5;12m (https://github.com/EngineeringSoftware/mcoq) - Mutation analysis tool for Coq projects.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOtt[0m[38;5;12m (https://github.com/ott-lang/ott) - Tool for writing definitions of programming languages and calculi that can be translated to Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPyCoq[0m[38;5;12m (https://github.com/ejgallego/pycoq) - Set of bindings and libraries for interacting with Coq from inside Python 3.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRoosterize[0m[38;5;12m (https://github.com/EngineeringSoftware/roosterize) - Tool for suggesting lemma names in Coq projects.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSail[0m[38;5;12m (https://github.com/rems-project/sail) - Tool for specifying instruction set architecture (ISA) semantics of processors and generating Coq definitions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSerAPI[0m[38;5;12m (https://github.com/ejgallego/coq-serapi) - Tools and OCaml library for (de)serialization of Coq code to and from JSON and S-expressions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTrakt[0m[38;5;12m (https://github.com/ecranceMERCE/trakt) - Generic goal preprocessing tool for proof automation tactics.[39m
|
||
|
||
[38;2;255;187;0m[4mType Theory and Mathematics[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAnalysis[0m[38;5;12m (https://github.com/math-comp/analysis) - Library for classical real analysis compatible with Mathematical Components.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCategory Theory in Coq[0m[38;5;12m (https://github.com/jwiegley/category-theory) - Axiom-free formalization of category theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCompleteness and Decidability of Modal Logic Calculi[0m[38;5;12m (https://github.com/coq-community/comp-dec-modal) - Soundness, completeness, and decidability for the logics K, K[39m[48;2;30;30;40m[38;5;13m[3m, CTL, and PDL.[0m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqPrime[0m[38;5;12m (https://github.com/thery/coqprime) - Library for certifying primality using Pocklington and Elliptic Curve certificates.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoRN[0m[38;5;12m (https://github.com/coq-community/corn) - Library of constructive real analysis and algebra.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoqtail Math[0m[38;5;12m (https://github.com/coq-community/coqtail-math) - Library of mathematical results ranging from arithmetic to real and complex analysis.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoquelicot[0m[38;5;12m (https://gitlab.inria.fr/coquelicot/coquelicot) - Formalization of classical real analysis compatible with the standard library and focusing on usability.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFinmap[0m[38;5;12m (https://github.com/math-comp/finmap) - Extension of Mathematical Components with finite maps, sets, and multisets.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFour Color Theorem[0m[38;5;12m (https://github.com/coq-community/fourcolor) - Formal proof of the Four Color Theorem, a landmark result of graph theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGaia[0m[38;5;12m (https://github.com/coq-community/gaia) - Implementation of books from Bourbaki's Elements of Mathematics, including set theory and number theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGeoCoq[0m[38;5;12m (https://github.com/GeoCoq/GeoCoq) - Formalization of geometry based on Tarski's axiom system.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGraph Theory[0m[38;5;12m (https://github.com/coq-community/graph-theory) - Formalized graph theory results.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHomotopy Type Theory[0m[38;5;12m (https://github.com/HoTT/Coq-HoTT) - Development of homotopy-theoretic ideas.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mInfotheo[0m[38;5;12m (https://github.com/affeldt-aist/infotheo) - Formalization of information theory and linear error-correcting codes.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMathematical Components[0m[38;5;12m (http://math-comp.github.io) - Formalization of mathematical theories, focusing in particular on group theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMath Classes[0m[38;5;12m (https://github.com/coq-community/math-classes) - Abstract interfaces for mathematical structures based on type classes.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMonae[0m[38;5;12m (https://github.com/affeldt-aist/monae) - Monadic effects and equational reasoning.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOdd Order Theorem[0m[38;5;12m (https://github.com/math-comp/odd-order) - Formal proof of the Odd Order Theorem, a landmark result of finite group theory.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPuiseuxth[0m[38;5;12m (https://github.com/roglo/puiseuxth) - Proof of Puiseux's theorem and computation of roots of polynomials of Puiseux's series.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUniMath[0m[38;5;12m (https://github.com/UniMath/UniMath) - Library which aims to formalize a substantial body of mathematics using the univalent point of view.[39m
|
||
|
||
[38;2;255;187;0m[4mVerified Software[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCompCert[0m[38;5;12m (http://compcert.inria.fr) - High-assurance compiler for almost all of the C language (ISO C99), generating efficient code for the PowerPC, ARM, RISC-V and x86 processors.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCeramist[0m[38;5;12m (https://github.com/certichain/ceramist) - Verified hash-based approximate membership structures such as Bloom filters.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCertiCoq[0m[38;5;12m (https://github.com/CertiCoq/certicoq) - Verified compiler from Gallina, the internal language of Coq, down to CompCert's Clight language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFiat-Crypto[0m[38;5;12m (https://github.com/mit-plv/fiat-crypto) - Cryptographic primitive code generation.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Algorithms Verified in SSReflect[0m[38;5;12m (https://github.com/clayrat/fav-ssr) - Purely functional verified implementations of algorithms for searching, sorting, and other fundamental problems.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIncremental Cycles[0m[38;5;12m (https://gitlab.inria.fr/agueneau/incremental-cycles) - Verified OCaml implementation of an algorithm for incremental cycle detection in graphs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJasmin[0m[38;5;12m (https://github.com/jasmin-lang/jasmin) - Formalized language and verified compiler for high-assurance and high-speed cryptography.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJSCert[0m[38;5;12m (https://github.com/jscert/jscert) - Coq specification of ECMAScript 5 (JavaScript) with verified reference interpreter.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlambda-rust[0m[38;5;12m (https://gitlab.mpi-sws.org/iris/lambda-rust) - Formal model of a Rust core language and type system, a logical relation for the type system, and safety proofs for some Rust libraries.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mProsa[0m[38;5;12m (https://gitlab.mpi-sws.org/RT-PROOFS/rt-proofs) - Definitions and proofs for real-time system schedulability analysis.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRISC-V Specification in Coq[0m[38;5;12m (https://github.com/mit-plv/riscv-coq) - Definition of the RISC-V processor instruction set architecture and extensions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mStable sort algorithms in Coq[0m[38;5;12m (https://github.com/pi8027/stablesort) - Generic and modular proofs of correctness, including stability, of mergesort functions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTarjan and Kosaraju[0m[38;5;12m (https://github.com/math-comp/tarjan) - Verified implementations of algorithms for topological sorting and finding strongly connected components in finite graphs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVélus[0m[38;5;12m (http://velus.inria.fr) - Verified compiler for a Lustre/Scade-like dataflow synchronous language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVerdi Raft[0m[38;5;12m (https://github.com/uwplse/verdi-raft) - Implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWasmCert-Coq[0m[38;5;12m (https://github.com/WasmCert/WasmCert-Coq/) - Formalization in Coq of the WebAssembly (aka Wasm) 1.0 specification.[39m
|
||
|
||
[38;2;255;187;0m[4mResources[0m
|
||
|
||
[38;2;255;187;0m[4mCommunity[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq website[0m[38;5;12m (https://coq.inria.fr)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq manual[0m[38;5;12m (https://coq.inria.fr/refman/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq standard library[0m[38;5;12m (https://coq.inria.fr/stdlib/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq Discourse forum[0m[38;5;12m (https://coq.discourse.group)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq Zulip chat[0m[38;5;12m (https://coq.zulipchat.com)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq-Club mailing list[0m[38;5;12m (https://sympa.inria.fr/sympa/arc/coq-club)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq wiki[0m[38;5;12m (https://github.com/coq/coq/wiki)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOfficial Coq X/Twitter[0m[38;5;12m (https://x.com/CoqLang)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Zulip chat archive[0m[38;5;12m (https://coq.gitlab.io/zulip-archive/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq subreddit[0m[38;5;12m (https://www.reddit.com/r/Coq/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq tag on Stack Overflow[0m[38;5;12m (https://stackoverflow.com/questions/tagged/coq)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq tag on Theoretical Computer Science Stack Exchange[0m[38;5;12m (https://cstheory.stackexchange.com/questions/tagged/coq)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq tag on Proof Assistants Stack Exchange[0m[38;5;12m (https://proofassistants.stackexchange.com/questions/tagged/coq)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq keyword on Zenodo[0m[38;5;12m (https://zenodo.org/search?q=keywords%3A%22Coq%22)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq-community package maintenance project[0m[38;5;12m (https://github.com/coq-community/manifesto)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMathematical Components wiki[0m[38;5;12m (https://github.com/math-comp/math-comp/wiki)[39m
|
||
[38;5;12m- [39m[38;5;14m[1m100 famous theorems proved using Coq[0m[38;5;12m (https://github.com/coq-community/coq-100-theorems)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPlanet Coq link aggregator[0m[38;5;12m (https://coq.pl-a.net)[39m
|
||
|
||
[38;2;255;187;0m[4mBlogs[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Exchange: ideas and experiment reports about Coq[0m[38;5;12m (https://project.inria.fr/coqexchange/news/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGagallium[0m[38;5;12m (http://gallium.inria.fr/blog)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGregory Malecha's blog[0m[38;5;12m (https://gmalecha.github.io)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJoachim Breitner's blog posts on Coq[0m[38;5;12m (http://www.joachim-breitner.de/blog/tag/Coq)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLysxia's blog[0m[38;5;12m (https://blog.poisson.chat)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMIT PLV blog posts on Coq[0m[38;5;12m (http://plv.csail.mit.edu/blog/category/coq.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPLClub Blog[0m[38;5;12m (https://www.seas.upenn.edu/~plclub/blog/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPoleiro: a Coq blog by Arthur Azevedo de Amorim[0m[38;5;12m (http://poleiro.info)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRalf Jung's blog posts on Coq[0m[38;5;12m (https://www.ralfj.de/blog/categories/coq.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThomas Letan's blog posts on Coq[0m[38;5;12m (https://soap.coffee/~lthms/tags/coq.html)[39m
|
||
|
||
[38;2;255;187;0m[4mBooks[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCoq'Art[0m[38;5;12m (https://www.labri.fr/perso/casteran/CoqArt/) - The first book dedicated to Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSoftware Foundations[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu) - Series of Coq-based textbooks on logic, functional programming, and foundations of programming languages, aimed at being accessible to beginners.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 1: Logical Foundations[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/lf-current/index.html) - Introduction to functional programming, basic concepts of logic, and computer-assisted theorem proving.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 2: Programming Language Foundations[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/plf-current/index.html) - Introduction to the theory of programming languages, including operational semantics, Hoare logic, and static type systems.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 3: Verified Functional Algorithms[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/vfa-current/index.html) - Demonstration of how a variety of fundamental data structures can be specified and verified.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 4: QuickChick[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/qc-current/index.html) - Introduction to tools for combining randomized property-based testing with formal specification and proof.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 5: Verifiable C[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/vc-current/index.html) - An extended tutorial on specifying and verifying C programs using the Verified Software Toolchain.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mVolume 6: Separation Logic Foundations[0m[38;5;12m (https://softwarefoundations.cis.upenn.edu/slf-current/index.html) - An introduction to separation logic and how to build program verification tools on top of it.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCertified Programming with Dependent Types[0m[38;5;12m (http://adam.chlipala.net/cpdt/) - Textbook about practical engineering with Coq which teaches advanced practical tricks and a very specific style of proof.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mProgram[0m[38;5;14m[1m [0m[38;5;14m[1mLogics[0m[38;5;14m[1m [0m[38;5;14m[1mfor[0m[38;5;14m[1m [0m[38;5;14m[1mCertified[0m[38;5;14m[1m [0m[38;5;14m[1mCompilers[0m[38;5;12m [39m[38;5;12m(https://www.cs.princeton.edu/~appel/papers/plcc.pdf)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mBook[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mexplains[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mconstruct[39m[38;5;12m [39m[38;5;12mprogram[39m[38;5;12m [39m[38;5;12mlogics[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mseparation[39m[38;5;12m [39m[38;5;12mlogic,[39m[38;5;12m [39m[38;5;12maccompanied[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mformal[39m[38;5;12m [39m[38;5;12mmodel[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mCoq[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mapplied[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mClight[39m[38;5;12m [39m
|
||
[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12mexamples.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFormal Reasoning About Programs[0m[38;5;12m (http://adam.chlipala.net/frap/) - Book that simultaneously provides a general introduction to formal logical reasoning about the correctness of programs and to using Coq for this purpose.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPrograms[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mProofs[0m[38;5;12m [39m[38;5;12m(https://ilyasergey.net/pnp/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mBook[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mgives[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mbrief[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mpractically-oriented[39m[38;5;12m [39m[38;5;12mintroduction[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12minteractive[39m[38;5;12m [39m[38;5;12mproofs[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mCoq[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12memphasizes[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcomputational[39m[38;5;12m [39m[38;5;12mnature[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12minductive[39m[38;5;12m [39m[38;5;12mreasoning[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mdecidable[39m[38;5;12m [39m[38;5;12mpropositions[39m[38;5;12m [39m[38;5;12mvia[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m
|
||
[38;5;12msmall[39m[38;5;12m [39m[38;5;12mset[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mprimitives[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mSSReflect[39m[38;5;12m [39m[38;5;12mproof[39m[38;5;12m [39m[38;5;12mlanguage.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mComputer Arithmetic and Formal Proofs[0m[38;5;12m (https://www.sciencedirect.com/book/9781785481123/computer-arithmetic-and-formal-proofs) - Book that describes how to formally specify and verify floating-point algorithms in Coq using the Flocq library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Mathematical Components book[0m[38;5;12m (https://math-comp.github.io/mcb/) - Book oriented towards mathematically inclined users, focusing on the Mathematical Components library and the SSReflect proof language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mModeling and Proving in Computational Type Theory[0m[38;5;12m (https://github.com/uds-psl/MPCTT) - Book covering topics in computational logic using Coq, including foundations, canonical case studies, and practical programming.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHydras[0m[38;5;14m[1m [0m[38;5;14m[1m&[0m[38;5;14m[1m [0m[38;5;14m[1mCo.[0m[38;5;12m [39m[38;5;12m(https://github.com/coq-community/hydra-battles)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mContinuously[39m[38;5;12m [39m[38;5;12min-progress[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlibrary[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mKirby[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mParis'[39m[38;5;12m [39m[38;5;12mhydra[39m[38;5;12m [39m[38;5;12mbattles[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12mentertaining[39m[38;5;12m [39m[38;5;12mformalized[39m[38;5;12m [39m[38;5;12mmathematics[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mCoq,[39m[38;5;12m [39m[38;5;12mincluding[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mproof[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mGödel-Rosser[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m
|
||
[38;5;12mincompleteness[39m[38;5;12m [39m[38;5;12mtheorem.[39m
|
||
|
||
[38;2;255;187;0m[4mCourse Material[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAn Introduction to MathComp-Analysis[0m[38;5;12m (https://staff.aist.go.jp/reynald.affeldt/documents/karate-coq.pdf) - Lecture notes on getting started with the Mathematical Components library and using it for classical reasoning and real analysis.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFoundations of Separation Logic[0m[38;5;12m (https://chargueraud.org/teach/verif/) - Introduction to using separation logic to reason about sequential imperative programs in Coq.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFloating-Point Numbers and Formal Proof[0m[38;5;12m (https://github.com/thery/FlocqLecture) - Introductory course on Coq real numbers and floating-point numbers from the Flocq library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntroduction to the Theory of Computation[0m[38;5;12m (https://gitlab.com/umb-svl/turing) - Formalization to support an undergraduate course on the theory of computation, including languages and Turing machines.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLectures on Software Foundations[0m[38;5;12m (https://github.com/clarksmr/sf-lectures) - Material on the Software Foundations series of textbooks, including a series of YouTube videos.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMathComp School[0m[38;5;12m (https://github.com/gares/math-comp-school-2022) - Coq sources for lessons and exercises that introduce the SSReflect proof language and the Mathematical Components library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMechanized Semantics[0m[38;5;12m (https://github.com/xavierleroy/cdf-mech-sem) - Companion Coq sources for a course on programming language semantics at Collège de France.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mProgram Logics[0m[38;5;12m (https://github.com/xavierleroy/cdf-program-logics) - Companion Coq sources for a course on program logics at Collège de France.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mProgram[0m[38;5;14m[1m [0m[38;5;14m[1mverification[0m[38;5;14m[1m [0m[38;5;14m[1mwith[0m[38;5;14m[1m [0m[38;5;14m[1mtypes[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mlogic[0m[38;5;12m [39m[38;5;12m(https://gitlab.science.ru.nl/program-verification/course-2023-2024)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mLectures[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mexercise[39m[38;5;12m [39m[38;5;12mmaterial[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcourse[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12msemantics,[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12msystems[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mprogram[39m[38;5;12m [39m[38;5;12mlogics,[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mCoq,[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m
|
||
[38;5;12mRadboud[39m[38;5;12m [39m[38;5;12mUniversity[39m[38;5;12m [39m[38;5;12mNijmegen.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mProofs and Reliable Programming using Coq[0m[38;5;12m (https://team.inria.fr/stamp/proofs-and-reliable-programming-using-coq-2022/) - Introduction to developing and verifying programs with Coq.[39m
|
||
|
||
[38;2;255;187;0m[4mTutorials and Hints[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mCoq'Art Exercises and Tutorials[0m[38;5;12m (https://github.com/coq-community/coq-art) - Coq code and exercises from the Coq'Art book, including additional tutorials.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq in a Hurry[0m[38;5;12m (http://cel.archives-ouvertes.fr/inria-00001173) - Introduction to how Coq can be used to define logical concepts and functions and reason about them.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq requirements in Common Criteria evaluations[0m[38;5;12m (https://inria.hal.science/hal-04452421) - Guide on how to write readable and reviewable Coq code in high assurance applications.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCoq Tactics in Plain English[0m[38;5;12m (https://charlesaverill.github.io/ctpe/) - Guide to Coq tactics with explanations and examples.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn X in Y minutes where X=Coq[0m[38;5;12m (https://learnxinyminutes.com/docs/coq/) - Whirlwind tour of Coq as a language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLemma Overloading[0m[38;5;12m (https://github.com/coq-community/lemma-overloading) - Demonstration of design patterns for programming and proving with canonical structures.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMathComp Tutorial Materials[0m[38;5;12m (https://github.com/math-comp/tutorial_material) - Source code for Mathematical Components tutorials.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMike Nahas's Coq Tutorial[0m[38;5;12m (https://mdnahas.github.io/doc/nahas_tutorial.html) - Basics of using Coq to write formal proofs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTricks in Coq[0m[38;5;12m (https://github.com/coq-community/coq-tricks) - Tips, tricks, and features in Coq that are hard to discover.[39m
|
||
|
||
[38;5;12mcoq Github: https://github.com/coq-community/awesome-coq[39m
|