awesome-coq
A curated list of awesome Coq frameworks, libraries and software.
- AbsInt/CompCert - The CompCert formally-verified C compiler
- HoTT/Coq-HoTT - A Coq library for Homotopy Type Theory
- UniMath/UniMath - This coq library aims to formalize a substantial body of mathematics using the univalent point of view.
- magmide/magmide - A dependently-typed proof language intended to make provably correct bare metal code possible for working software engineers.
- jwiegley/category-theory - An axiom-free formalization of category theory in Coq for personal study and practical work
- uwplse/verdi - A framework for formally verifying distributed systems implementations in Coq
- math-comp/math-comp - Mathematical Components
- tchajed/coq-tricks - Tricks you wish the Coq manual told you
- PrincetonUniversity/VST - Verified Software Toolchain
- vellvm/vellvm - The Vellvm (Verified LLVM) coq development.
- princeton-vl/CoqGym - A Learning Environment for Theorem Proving with the Coq proof assistant
- MetaCoq/metacoq - Metaprogramming in Coq
- antalsz/hs-to-coq - Convert Haskell source code to Coq source code
- stepchowfun/proofs - My personal repository of formally verified mathematics.
- UniMath/Foundations - Voevodsky's original development of the univalent foundations of mathematics in Coq
- QuickChick/QuickChick - Randomized Property-Based Testing Plugin for Coq
- mit-pdos/fscq - FSCQ is a certified file system written and proven in Coq
- mattam82/Coq-Equations - A function definition package for Coq
- jscert/jscert - A Coq specification of ECMAScript 5 (JavaScript) with verified reference interpreter
- sifive/Kami - Kami - a DSL for designing Hardware in Coq, and the associated semantics and theorems for proving its correctness. Kami is inspired by Bluespec. It is actually a complete rewrite of an older version from MIT
- clarus/coq-chick-blog -
๐ฃ A blog engine written and proven in Coq - DeepSpec/InteractionTrees - A Library for Representing Recursive and Impure Programs in Coq
- uwplse/verdi-raft - An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
- jasmin-lang/jasmin - Language for high-assurance and high-speed cryptography
- coq-community/math-classes - A library of abstract interfaces for mathematical structures in Coq [maintainer=@spitters]
- jwiegley/coq-haskell - A library for formalizing Haskell types and functions in Coq
- GeoCoq/GeoCoq - A formalization of geometry in Coq based on Tarski's axiom system
- math-comp/analysis - Mathematical Components compliant Analysis Library
- ilyasergey/pnp - Lecture notes for a short course on proving/programming in Coq via SSReflect.
- Lysxia/advent-of-coq-2018 - Advent of Code 2018, in Coq! (https://adventofcode.com/2018)
- discus-lang/iron - Coq formalizations of functional languages.
- coq-community/fourcolor - Formal proof of the Four Color Theorem [maintainer=@ybertot]
- mit-plv/kami - A Platform for High-Level Parametric Hardware Specification and its Modular Verification
- coq-community/coq-ext-lib - A library of Coq definitions, theorems, and tactics. [maintainers=@gmalecha,@liyishuai]
- verse-lab/ceramist - Verified hash-based AMQ structures in Coq
- coq-community/corn - Coq Repository at Nijmegen [maintainers=@spitters,@VincentSe]
- CertiCoq/certicoq - A Verified Compiler for Gallina, Written in Gallina
- project-oak/silveroak - Formal specification and verification of hardware, especially for security and privacy.
- verse-lab/toychain - A minimalistic blockchain consensus implemented and verified in Coq
- Ptival/PeaCoq - PeaCoq is a pretty Coq, isn't it?
- mit-pdos/perennial - Verifying concurrent crash-safe systems
- mit-plv/koika - A core language for rule-based hardware design
๐ฆ - sec-bit/tokenlibs-with-proofs - Correctness proofs of Ethereum token contracts
- uds-psl/coq-library-undecidability - A library of mechanised undecidability proofs in the Coq proof assistant.
- DistributedComponents/disel - Distributed Separation Logic: a framework for compositional verification of distributed protocols and their implementations in Coq
- amintimany/Categories - A formalization of category theory in the Coq proof assistant.
- AU-COBRA/ConCert - A framework for smart contract verification in Coq
- clarus/falso - A proof of false in Coq.
- coq-concurrency/pluto - A web server written in Coq.
- coq-community/coq-art - Coq code and exercises from the Coq'Art book [maintainers=@ybertot,@Casteran]
- mit-plv/riscv-coq - RISC-V Specification in Coq
- coq-community/coq-dpdgraph - Build dependency graphs between Coq objects [maintainers=@Karmaki,@ybertot]
- pi8027/lambda-calculus - A Formalization of Typed and Untyped ฮป-Calculi in Coq and Agda2
- WasmCert/WasmCert-Coq - A mechanisation of Wasm in Coq
- ymherklotz/vericert - A formally verified high-level synthesis tool based on CompCert and written in Coq.
- plclub/hs-to-coq - Convert Haskell source code to Coq source code.
- ml4tp/gamepad - A Learning Environment for Theorem Proving
- inQWIRE/SQIR - A Small Quantum Intermediate Representation
- affeldt-aist/monae - Monadic effects and equational reasonig in Coq
- coq-io/io - A library for effects in Coq.
- coq-community/coqeal - The Coq Effective Algebra Library [maintainers=@CohenCyril,@proux01]
- imdea-software/htt - Hoare Type Theory
- affeldt-aist/infotheo - A Coq formalization of information theory and linear error-correcting codes
- choukh/Set-Theory - A formalization of the textbook Elements of Set Theory
- sigurdschneider/lvc - LVC verified compiler
- coq-contribs/coq-in-coq - A formalisation of the Calculus of Constructions
- bedrocksystems/BRiCk - Formalization of C++ for verification purposes.
- uwplse/pumpkin-pi - An extension to PUMPKIN PATCH with support for proof repair across type equivalences.
- mit-plv/bedrock - Coq library for verified low-level programming
- geohot/coq-hardy - Formalizing the Theorems from Hardy's "An Introduction to the Theory of Numbers" in coq
- philzook58/nand2coq - Build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).
- lthms/FreeSpec - A framework for implementing and certifying impure computations in Coq
- INRIA/velus - A Lustre compiler in Coq
- cmeiklejohn/distributed-data-structures - Distributed Data Structures in Coq
- jtassarotti/coq-proba - A Probability Theory Library for the Coq Theorem Prover
- MichaelBurge/pornview - Porn browser formally-verified in Coq
- mit-plv/rupicola - Gallina to Bedrock2 compilation toolkit
- math-comp/finmap - Finite sets, finite maps, multisets and generic sets
- coq-community/autosubst - Automation for de Bruijn syntax and substitution in Coq [maintainers=@RalfJung,@co-dan]
- arthuraa/poleiro - A blog about Coq
- anton-trunov/coq-lecture-notes - Coq Lecture Notes (WIP)
- wouter-swierstra/xmonad - xmonad in Coq
- pirapira/evmverif - An EVM code verification framework in Coq
- coq-community/paramcoq - Coq plugin for parametricity [maintainer=@proux01]
- dschepler/coq-sequent-calculus - Coq formalizations of Sequent Calculus, Natural Deduction, etc. systems for propositional logic
- coq-community/topology - General topology in Coq [maintainers=@amiloradovsky,@Columbus240,@stop-cran]
- xavierleroy/cdf-mech-sem - Coq development for the course "Mechanized semantics", Collรจge de France, 2019-2020
- formal-land/coq-of-rust - Formal verification for Rust
๐ฆ by translation to the proof system Coq๐ - coq-community/hydra-battles - Variations on Kirby & Paris' hydra battles and other entertaining math in Coq (collaborative, documented, includes exercises) [maintainer=@Casteran]
- SSProve/ssprove - A foundational framework for modular cryptographic proofs in Coq
- foreverbell/verified - Coq formalizations and proofs of (data) structures and algorithms.
- tchajed/iris-simp-lang - We define a simple programming language, simp_lang, then instantiate Iris to verify simple simp_lang programs with concurrent separation logic.
- tchajed/coq-record-update - Library to create Coq record update functions
- gallais/parseque - Total Parser Combinators in Coq
- mit-plv/coqutil - Coq library for tactics, basic definitions, sets, maps
- damien-pous/relation-algebra - Relation algebra library for Coq
- andrejbauer/dedekind-reals - A formalization of the Dedekind reals in Coq
- vrahli/NuprlInCoq - Implementation of Nuprl's type theory in Coq
- snu-sf/paco - A Coq library for parametric coinduction
- barry-jay-personal/tree-calculus - Proofs in Coq for the book Reflective Programs in Tree Calculus
- vlopezj/coq-course - Coq course at Chalmers CSE
- choukh/Baby-Set-Theory - Coq้ๅ่ฎบไธญๆๆ็จ
- coq-community/reglang - Regular Language Representations in Coq [maintainers=@chdoc,@palmskog]
- tchajed/ltac2-tutorial - Ltac2 tutorial
- pedrotst/coquedille - A Coq to Cedille compiler written in Coq
- langston-barrett/coq-big-o - A general yet easy-to-use formalization of Big O, Big Theta, and more based on seminormed vector spaces.
- bmsherman/topology - Formal topology (and some probability) in Coq
- math-comp/Coq-Combi - Algebraic Combinatorics in Coq
- coq-community/semantics - A survey of semantics styles in Coq, from natural semantics through structural operational, axiomatic, and denotational semantics, to abstract interpretation [maintainer=@k4rtik]
- snu-sf/promising-coq - The Coq development of A Promising Semantics for Relaxed-Memory Concurrency
- charguer/tlc - Library for Classical Coq
- thery/coqprime - Prime numbers for Coq
- fblanqui/color - Coq library on rewriting theory and termination
- math-comp/algebra-tactics - Ring, field, lra, nra, and psatz tactics for Mathematical Components
- gangtan/CPUmodels - GoNative project: formal machines models in Coq
- coq-community/chapar - A framework for verification of causal consistency for distributed key-value stores and their clients in Coq [maintainer=@palmskog]
- tezos/tezoscoq - working with coq and tezos
- math-comp/Abel - A proof of Abel-Ruffini theorem.
- codyroux/broad-coq-tutorial - Some unstructured notes concerning the Broad tutorial to take place in March 2020
- arthuraa/extructures - Finite sets and maps for Coq with extensional equality
- xavierleroy/cdf-program-logics - Companion Coq development for Xavier Leroy's 2021 lectures on program logics
- vafeiadis/hahn - Hahn: A Coq library
- rafaelcgs10/W-in-Coq - This is a Coq formalization of Damas-Milner type system and its algorithm W.
- palmskog/coq-program-verification-template - Template project for program verification in Coq
- pa-ba/calc-comp - Coq proofs for the paper "Calculating Correct Compilers"
- llee454/functional-algebra - This package provides a Coq formalization of abstract algebra using a functional programming style. The modules contained within the package span monoids, groups, rings, and fields and provides both axiom definitions for these structures and proofs of foundational results. The current package contains over 800 definitions and proofs.
- coq-community/goedel - Archived since the contents have been moved to the Hydras & Co. repository
- Lysxia/coq-simple-io - IO for Gallina
- coq-ext-lib/coq-compile - A compiler for Coq
- coq-community/lemma-overloading - Libraries demonstrating design patterns for programming and proving with canonical structures in Coq [maintainer=@anton-trunov]
- coq-community/graph-theory - Graph Theory [maintainers=@chdoc,@damien-pous]
- coq-community/dblib - Coq library for working with de Bruijn indices [maintainer=@KevOrr]
- vrahli/Velisarios - A Coq-based framework to verify the correctness of Byzantine fault-tolerant distributed systems
- sifive/ProcKami - Kami based processor implementations and specifications
- math-comp/odd-order - The formal proof of the Odd Order Theorem
- logsem/aneris - Program logic for developing and verifying distributed systems
- formal-land/coq-bonsai -
๐ณ Generate a fresh bonsai in your terminal - affeldt-aist/coq-robot - Mathematics of Rigid Body Transformationss using Coq and MathComp
- Zilliqa/scilla-coq - State-Transition Systems for Smart Contracts
- sweirich/graded-haskell - Graded Dependent Type systems
- reynir/Brainfuck - Brainfuck formalized in Coq
- lastland/ClairvoyanceMonad - The Coq formalization of the paper Reasoning about the garden of forking paths.
- EasyCrypt/certicrypt - CertiCrypt Coq Framework
- coq-io/system - Library of Unix effects for Coq.
- uwplse/StructTact - Coq utility and tactic library.
- uwplse/cheerios - Formally verified Coq serialization library with support for extraction to OCaml
- thery/T2048 - a version of the 2048 game for Coq
- thery/hanoi - Hanoi tower in Coq
- novifinancial/LibraChain - A library providing mechanized proofs of the LibraBFT consensus using the Coq theorem prover
- math-comp/mczify - Micromega tactics for Mathematical Components
- Lysxia/system-F - Formalization of the polymorphic lambda calculus and its parametricity theorem
- imdea-software/fcsl-pcm - Partial Commutative Monoids
- coq-community/alea - Coq library for reasoning on randomized algorithms [maintainers=@anton-trunov,@volodeyka]
- bobatkey/system-f-parametricity-model - A Model of Relationally Parametric System F in Coq
- arthuraa/deriving - Class instances for Coq inductive types with little boilerplate
- pi8027/stablesort - Stable sort algorithms and their stability proofs in Coq
- dboulytchev/miniKanren-coq - A certified semantics for relational programming workout.
- coq-community/gaia - Implementation of books from Bourbaki's Elements of Mathematics in Coq [maintainer=@thery]
- coq-community/bignums - Coq library of arbitrarily large numbers, providing BigN, BigZ, BigQ that used to be part of the standard library [maintainers=@proux01,@erikmd]
- coq-community/atbr - Coq library and tactic for deciding Kleene algebras [maintainer=@tchajed]
- mgrabovsky/fm-notes - Unassorted scribbles on formal methods, type theory, category theory, and so on, and so on
- Huxpro/WasmCert - A (in-development) Coq mechanization of WebAssembly specification.
- dunnl/tealeaves - A Coq library for abstract syntactical reasoning
- coq-community/coqoban - Sokoban (in Coq) [maintainer=@erikmd]
- CertiKOS/coqrel - Binary logical relations library for the Coq proof assistant
- AU-COBRA/PoS-NSB - A formalization of a Proof-of-Stake Nakamoto-style blockchain in Coq
- Blaisorblade/dot-iris - Scala Step-by-Step: Soundness for DOT with Step-Indexed Logical Relations in Iris โ Coq Formalization
- LogicalAtomist/principia - The Principia Rewrite
- certichain/toychain - A minimalistic blockchain consensus implemented and verified in Coq
- coq-community/coq-100-theorems - Statements of famous theorems proven in Coq [maintainer=@jmadiot]
- smtcoq/smtcoq - Communication between Coq and SAT/SMT solvers
- smorimoto/coq-to-ocaml-to-js - Proof of concept to generate safe and fast JavaScript
- certichain/ceramist - Verified hash-based AMQ structures in Coq
- math-comp/fourcolor - Formal proof of the Four Color Theorem
- foobar-land/coq-bonsai -
๐ณ Generate a fresh bonsai in your terminal - bedrocksystems/cpp2v - Formalization of C++ for verification purposes.
- hivert/Coq-Combi - Algebraic Combinatorics in Coq
- Karmaki/coq-dpdgraph - Build dependency graphs between COQ objects
- CoqEAL/CoqEAL - CoqEAL -- The Coq Effective Algebra Library
- heades/System-F-Coq - System F in coq.
- math-comp/hierarchy-builder - High level commands to declare a hierarchy based on packed classes
- project-oak/oak-hardware - Formal specification and verification of hardware, especially for security and privacy.
- coq-community/coq100 - Statements of famous theorems proven in Coq [maintainer=@jmadiot]
- ANSSI-FR/FreeSpec - A framework for implementing and certifying impure computations in Coq
- uds-psl/autosubst - Automation for de Bruijn syntax and substitution in Coq
- uwplse/ornamental-search - DEVOID: Ornaments for Proof Reuse in Coq
- LPCIC/coq-elpi - Coq plugin embedding elpi
- coq-ext-lib/coq-ext-lib - A library of Coq definitions, theorems, and tactics.
- siddharthist/coq-big-o - A general yet easy-to-use formalization of Big O, Big Theta, and more based on seminormed vector spaces.
- hazelgrove/hazel - Hazel, a live functional programming environment with typed holes
- Template-Coq/template-coq - Reflection library for Coq
- math-classes/math-classes - A library of abstract interfaces for mathematical structures in Coq.
- c-corn/corn - Coq Repository at Nijmegen
- stepchowfun/coq-fun - A selection of Coq developments.
- uwdb/Cosette - Cosette is an automated SQL solver powered by Coq and Rosette.
- DDCSF/iron - Coq formalizations of functional languages.
- vladimirias/Foundations - Development of the univalent foundations of mathematics in Coq
- aspiwack/cosa - Coq-verified Shape Analysis
- Ptival/HaysTac - A pile of Ltac tactics that might contain the needle you're looking for. Oriented around nameless tactics programming.
- EugeneLoy/coq_jupyter - Jupyter Notebook kernel for Coq