Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Coq
  3. Formalised Undecidable Problems

Formalised Undecidable Problems

MPL-2.0Rocq Proverv1.1.2+8.20

A Coq library containing mechanized reductions to establish undecidability results for problems in logic and computation.

GitHubGitHub
139 stars37 forks0 contributors

What is Formalised Undecidable Problems?

The Coq Library of Undecidability Proofs is a formal, machine-checked collection of reductions that prove various problems in logic and computation are undecidable. It uses a synthetic approach within the Coq proof assistant to establish undecidability by showing that decidability of a problem would imply the enumerability of the complement of the Turing machine halting problem. The library serves as a rigorous framework for verifying classical undecidability results.

Target Audience

Researchers and practitioners in formal verification, logic, and theoretical computer science who need to formally verify undecidability proofs or extend the library with new results. It is also suitable for educators teaching computability theory with a formal methods perspective.

Value Proposition

It provides a comprehensive, collaborative, and extensible library of fully mechanized undecidability proofs, ensuring correctness through Coq's proof checking. The synthetic approach offers a foundational perspective distinct from traditional pen-and-paper proofs.

Overview

A library of mechanised undecidability proofs in the Coq proof assistant.

Use Cases

Best For

  • Formally verifying undecidability results in Coq
  • Teaching computability theory with machine-checked proofs
  • Extending the library with new undecidability reductions
  • Research in synthetic computability and formal logic
  • Comparing undecidability proofs across different computational models
  • Building upon established reductions for new problems

Not Ideal For

  • Projects needing quick, informal proof sketches for teaching or brainstorming without formal verification overhead
  • Applications requiring executable decision procedures or practical algorithms for specific computational problems
  • Teams unfamiliar with Coq or formal proof assistants, seeking plug-and-play solutions for software development
  • Research environments using proof assistants other than Coq, such as Isabelle or Agda, without Coq integration

Pros & Cons

Pros

Synthetic Undecidability Foundation

Defines undecidability relative to the enumerability of the complement of the Turing machine halting problem in Coq, providing a rigorous, type-theoretic approach as detailed in the synthetic definitions.

Broad Problem Coverage

Includes seed problems like Turing machine halting and Post correspondence, advanced problems from first-order logic to lambda calculus, and target problems for reductions, covering a wide range of undecidability results.

Mechanized Proof Correctness

All proofs are fully formalized and checked by Coq, ensuring accuracy and reliability, as emphasized in the library's description and CI badge.

Extensible Collaborative Framework

Designed for contributions with guidelines for adding new proofs, making it a living resource for the community, as invited in the README's contribution section.

Cons

Version and Dependency Lock-in

Requires Coq 8.20 and MetaCoq, with compatibility issues across branches and older Coq versions, as noted in the troubleshooting section, limiting flexibility.

Complex Installation Process

Setup involves opam switches, specific OCaml versions (e.g., 4.14.1+flambda), and manual steps, which can be cumbersome and error-prone for newcomers.

Steep Learning Curve

Assumes proficiency in Coq and formal verification, with no beginner-friendly tutorials or simplified examples, making it inaccessible without prior expertise.

Frequently Asked Questions

Quick Stats

Stars139
Forks37
Contributors0
Open Issues13
Last commit29 days ago
CreatedSince 2018

Tags

#coq#theoretical-computer-science#logic#formal-verification#proof-assistant

Built With

O
OPAM
C
Coq
O
OCaml

Included in

Coq380
Auto-fetched 5 hours ago

Related Projects

Interaction TreesInteraction Trees

A Library for Representing Recursive and Impure Programs in Coq

Stars254
Forks60
Last commit1 month ago
coq-haskellcoq-haskell

A library for formalizing Haskell types and functions in Coq

Stars172
Forks12
Last commit2 years ago
ExtLibExtLib

A library of Coq definitions, theorems, and tactics. [maintainers=@gmalecha,@liyishuai]

Stars136
Forks54
Last commit2 months ago
MetalibMetalib

The Penn Locally Nameless Metatheory Library

Stars77
Forks24
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub