Giter VIP home page Giter VIP logo

awesome-rust-formalized-reasoning's Introduction

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

  • Archived πŸ’€
  • Best in Class ♦️
  • Book implementation πŸ“–
  • Crate(s) πŸ“¦
  • Crates keyword fully listed πŸ’―
  • Deleted by author ♻️
  • Exhumated πŸ‘»
  • Inactive πŸ’€
  • List of resources ℹ️
  • Popular ⭐
  • Research paper implementation πŸ₯Ό
  • Toy project 🐀
  • Video πŸ“Ί
  • WIP 🚧

Projects

Provers and Solvers

Provers TPTP compliant

  • CoP πŸ“¦ - reimplement automated theorem provers of the leanCoP family, such as leanCoP and nanoCoP.
  • lazyCoP - automatic theorem prover for first-order logic with equality.
  • lerna πŸ’€ - proves theorems.
  • lickety - prototype system for linear resolution with splitting.
  • meancop πŸ“¦β™»οΈ - became CoP.
  • Serkr πŸ‘» ⭐ - automated theorem prover for first order logic with equality.

SAT Solver

Proof assistant

  • hakim - hacky interactive theorem prover.
  • cobalt β™»οΈπŸ‘» - a wip minimal proof assistant.
  • Esther 🚧 - simple automated proof assistant.
  • LSTS πŸ“¦β­ - proof assistant that is also a programming language.
  • Noq πŸ“Ίβ­ - Not Coq. Simple expression transformer that is not Coq.
  • Poi πŸ“¦β­ - pragmatic point-free theorem prover assistant.
  • qbar πŸ“¦ - experimental automated theorem verifier/prover and proof assistant.

Misc

Verification

Static Analysis & Rust verification tools

Misc

Libraries

Parser

Bindings

Translator

  • anthem - translate answer set programs to first-order theorem prover language.
  • Cnfpack πŸ“¦ - converts between DIMACS CNF file format and the compressed binary Cnfpack format.
  • hz-to-mm0 - translator from HOL Zero / Common HOL to Metamath Zero.

Misc

Books code

There is numerous implementations of TAPL πŸ“–, we keep only the most popular and keep an eye on implementations that worth attention.

Programming Language

Kanren

Lambda Calculus

Propositional logic

Unclassified

  • formal-systems-learning-rs - simulations to learn formal systems as typed first-order term rewriting systems.
  • list-routine-learning-rs - simulations to learn typed first-order term rewriting systems that perform list routines.
  • Minimal models - uses a SAT solver to find minimal partial assignments that are model of a CNF formula.
  • n-queens-sat - modelling n-queens problem as conjunctive normal form and solving it with DPLL algorithm.
  • nonogrid πŸ“¦ - lightning fast nonogram solver.
  • rummy_to_sat - implementation of a solver for Rummy.
  • sudoku_sat - solve Sudoku variants with SAT solvers.
  • Supermux - reduction of the superpermutation problem to Quantified Boolean Formula.
  • Supersat - attempt to find superpermutations by reducing the problem to SAT.
  • tarpit-rs ⭐ - type-level implementation of Smallfuck in Rust. Turing-completeness proof for Rust's type system.

Resources

Books

Research Paper & Thesis

Demos

Blogs

Posts

Crates keywords

Community

awesome-rust-formalized-reasoning's People

Contributors

newca12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.