Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Coq
  3. Fiat

Fiat

NOASSERTIONRocq Prover

A Coq library for deductive synthesis of correct-by-construction abstract data types and parsers.

Visit WebsiteGitHubGitHub
157 stars34 forks0 contributors

What is Fiat?

Fiat is a Coq library for deductive synthesis of abstract data types and parsers that are correct-by-construction. It allows developers to specify data structures formally and automatically generates implementations with embedded proofs of correctness. The project focuses on automating the creation of verified software components through proof search in the Coq proof assistant.

Target Audience

Researchers and developers working in formal verification, programming languages, and automated reasoning who need to generate provably correct implementations of data structures or parsers. It's particularly relevant for those using Coq for verified software development.

Value Proposition

Fiat provides automated synthesis of verified code directly within a proof assistant, reducing the manual effort required for formal verification. Its integration with Coq ensures that synthesized implementations come with formal correctness proofs, making it valuable for high-assurance software development.

Overview

Mostly Automated Synthesis of Correct-by-Construction Programs

Use Cases

Best For

  • Automatically generating verified implementations of abstract data types from specifications
  • Synthesizing provably correct parsers for formal language processing
  • Research in program synthesis and formal verification techniques
  • Teaching concepts of correct-by-construction programming in academic settings
  • Developing high-assurance software components with embedded correctness proofs
  • Exploring deductive synthesis approaches within proof assistants like Coq

Not Ideal For

  • Production environments requiring long-term support and active maintenance
  • Teams without expertise in Coq or formal verification tools
  • Projects needing rapid prototyping without formal proof overhead
  • Applications dependent on the latest Coq features or community packages

Pros & Cons

Pros

Automated Deductive Synthesis

Uses proof search to automatically generate implementations from formal specifications, reducing manual verification effort as highlighted in the key features.

Provably Correct Output

Produces code with embedded formal proofs, ensuring high assurance for synthesized components, which is core to its value proposition.

Seamless Coq Integration

Built as a Coq library, it leverages Coq's proof assistant for integrated verification and synthesis, as stated in the dependencies and build instructions.

Specialized Parser Generation

Includes maintained libraries for synthesizing formally verified parsers, with targets like 'parsers-examples' actively supported for Coq's CI.

Cons

Limited Maintenance

The library is described as 'mostly unmaintained' in the README, with only specific targets actively maintained, risking obsolescence for broader use.

Version Compatibility Issues

Requires specific Coq versions (e.g., 8.4pl6 for some parts), hindering integration with modern Coq ecosystems, as noted in the dependencies.

Complex Setup

Dependencies on Coq, Emacs, Proof General, and OCaml make initial configuration non-trivial, especially for users unfamiliar with these tools.

Incomplete Build Targets

Components like the SQL-like library no longer build ('make querystructures' fails), limiting the range of usable synthesis features.

Frequently Asked Questions

Quick Stats

Stars157
Forks34
Contributors0
Open Issues1
Last commit1 month ago
CreatedSince 2015

Tags

#coq#automated-reasoning#parser-generation#program-synthesis#formal-verification#proof-assistant

Built With

C
Coq
G
GNU Emacs
O
OCaml

Links & Resources

Website

Included in

Coq380
Auto-fetched 1 day ago

Related Projects

VerdiVerdi

A framework for formally verifying distributed systems implementations in Coq

Stars627
Forks58
Last commit8 months ago
ConCertConCert

A framework for smart contract verification in Coq

Stars129
Forks22
Last commit1 month ago
SSProveSSProve

A foundational framework for modular cryptographic proofs in Coq

Stars90
Forks21
Last commit1 day ago
Hoare Type TheoryHoare Type Theory

Hoare Type Theory

Stars88
Forks7
Last commit1 month 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