Awesome Rust Formalized Reasoning Save

An exhaustive list of all Rust resources regarding automated or semi-automated formalization efforts in any area, constructive mathematics, formal algorithms, and program verification.

Project README

About

An exhaustive list of all Rust resources regarding automated or semi-automated formalization efforts in any area, constructive mathematics, formal algorithms, and program verification.

As of May 29, 2022, proof of computation & cryptographic stuff are considered off-topic.

awesome-rust-formalized-reasoning is an EDLA project.

The purpose of edla.org is to promote the state of the art in various domains.

Contents


Legend

  • Actively maintened :fire:
  • Archived :skull:
  • Benchmark :watch:
  • Best in Class :diamonds:
  • Book implementation :book:
  • Crate(s) :package:
  • Crates keyword fully listed :100:
  • Deleted by author :recycle:
  • Educational project :mortar_board:
  • Exhumated :ghost:
  • Inactive :zzz:
  • List of resources :information_source:
  • Popular :star:
  • Research paper implementation :lab_coat:
  • Toy project :baby_chick:
  • Video :tv:
  • WIP :construction:

Projects

Provers and Solvers

Provers TPTP compliant

  • CoP :package: - reimplement automated theorem provers of the leanCoP family, such as leanCoP and nanoCoP.
  • lazyCoP :watch::zzz: - automatic theorem prover for first-order logic with equality.
  • lerna :skull: - proves theorems.
  • lickety - prototype system for linear resolution with splitting.
  • meancop :package::recycle: - became CoP.
  • Serkr :star::ghost: - automated theorem prover for first order logic with equality.
  • theorem-prover-rs - rewrite of theorem-prover-kt a sequent-style automated theorem prover.

SAT Solver

Proof assistant

  • hakim - hacky interactive theorem prover.
  • cobalt :recycle::ghost: - a wip minimal proof assistant.
  • Esther :zzz: - simple automated proof assistant.
  • homotopy-rs :diamonds::star::lab_coat::lab_coat::fire: - implementation of homotopy.io proof assistant.
  • LSTS :package::star: - proof assistant that is also a programming language.
  • Noq :tv::star: - Not Coq. Simple expression transformer that is not Coq.
  • Poi :package::star: - pragmatic point-free theorem prover assistant.
  • Proost - simple proof assistant.
  • qbar :package::zzz: - experimental automated theorem verifier/prover and proof assistant.

Misc

Verification

Static Analysis & Rust verification tools

Misc

Libraries

Parser

Bindings

Translator

  • anthem :zzz: - translate answer set programs to first-order theorem prover language.
  • bool2dimacs :package: - transfer boolean expression to dimacs directly.
  • CNFGEN :package: - create boolean formulae from boolean expressions and integer expressions.
  • Cnfpack :package: - converts between DIMACS CNF file format and the compressed binary Cnfpack format.
  • hz-to-mm0 :zzz: - translator from HOL Zero / Common HOL to Metamath Zero.
  • Metamath hammer - tool for automatically proving Metamath theorems using ATPs.
  • rust-smt-ir :package::package::star: - intermediate representation (IR) in Rust for SMT-LIB queries.

Misc

Books code

There is numerous implementations of TAPL :book:, we keep only the most popular and keep an eye on implementations that worth attention.

Programming Language

Kanren

Lambda Calculus

Propositional logic

Unclassified

  • Croissant - crossword solver backed by various SAT solvers.
  • formal-systems-learning-rs :zzz: - simulations to learn formal systems as typed first-order term rewriting systems.
  • inf402 - SAT-solver-based takuzu solver.
  • Junglefowl :package::package: - runs Peano arithmetic on Rust types, verified at compile time..
  • list-routine-learning-rs :zzz: - to learn typed first-order term rewriting systems that perform list routines.
  • logical_tui :baby_chick: - tui for logical_solver.
  • Minimal models :zzz: - uses a SAT solver to find minimal partial assignments that are model of a CNF formula.
  • n-queens-sat :zzz: - modelling n-queens problem as conjunctive normal form and solving it with DPLL algorithm.
  • nonogrid :package: - lightning fast nonogram solver.
  • peano :lab_coat: - An environment for learning formal mathematical reasoning from scratch.
  • Relog - implementation of several strongly-normalizing string rewriting systems.
  • rummy_to_sat - implementation of a solver for Rummy.
  • rust-z3-practice :zzz: - solving a number of SAT problems using Z3.
  • sudoku_sat - solve Sudoku variants with SAT solvers.
  • Supermux :zzz: - reduction of the superpermutation problem to Quantified Boolean Formula.
  • Supersat :zzz: - attempt to find superpermutations by reducing the problem to SAT.
  • tarpit-rs :star::zzz: - type-level implementation of Smallfuck. Turing-completeness proof for Rust's type system.
  • VeriFactory :star: - verifier for Factorio blueprints.

Resources

Books

Research Paper & Thesis

Demos

Blogs

Posts

Crates keywords

Community

Open Source Agenda is not affiliated with "Awesome Rust Formalized Reasoning" Project. README Source: newca12/awesome-rust-formalized-reasoning

Open Source Agenda Badge

Open Source Agenda Rating