4

GitHub - newca12/awesome-rust-formalized-reasoning: An exhaustive list of all Ru...

 3 years ago
source link: https://github.com/newca12/awesome-rust-formalized-reasoning
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.

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

  • Abandoned skull
  • Toy project baby_chick
  • List of resources information_source
  • More than one crate package
  • Best in Class diamonds
  • Popular star
  • Exhumated ghost
  • Deleted recycle

Projects

Provers and Solvers

  • Avalog star - experimental implementation of Avatar Logic with a Prolog-like syntax.
  • Debug-SAT - debuggable automatic theorem prover for boolean satisfiability problems (SAT).
  • CoP - reimplement in Rust several automated theorem provers of the leanCoP family, such as leanCoP and nanoCoP.
  • egglog - Using the egg library with a file format and semantics similar to datalog.
  • lazyCoP - automatic theorem prover for first-order logic with equality.
  • lapjv - linear Assignmment Problem solver using Jonker-Volgenant algorithm.
  • lerna skull - proves theorems.
  • Logic solver star - Logic solver.
  • meancop skull - became CoP.
  • Monotonic-Solver star - monotonic solver designed to be easy to use with Rust enum expressions.
  • msat - MaxSAT Solver.
  • OpenZKP Stark star - implementation of STARK zero-knowledge-proofs.
  • pocket_prover star - fast, brute force, automatic theorem prover for first order logic.
  • Poi star - pragmatic point-free theorem prover assistant.
  • RatSat star - reimplementation of MiniSat.
  • reachability_solver - linear reachability solver for directional edges.
  • Resolution Prover - resolution prover library for propositional logic.
  • rsat - SAT Solver.
  • SATCoP - theorem prover for first-order logic based on connection tableau and SAT solving.
  • Serkr star - automated theorem prover for first order logic with equality.
  • slp skull - became SolHOP.
  • SolHOP - aims to be a SAT and MaxSAT solver. Currently, a CDCL based SAT.
  • UASAT-RS - SAT solver based calculator for discrete mathematics and universal algebra.
  • Varisat star - CDCL based SAT solver.
  • Winterfell star - A STARK prover and verifier for arbitrary computations.

Verification

  • Bounded Registers star - high-assurance memory-mapped register interaction library.
  • CaDiCaL SAT solver - bindings for the CaDiCaL SAT solver.
  • Chalk star - implements the Rust trait system, based on Prolog-ish logic rules.
  • Chevre recycle - small propositional logic interpreter.
  • Creusot star - tool for deductive verification of Rust code.
  • crux-mir star - static simulator for Rust programs. It runs a set of test cases and attempts to prove that all assertions pass on all valid inputs.
  • frat-rs - verify DIMACS proof.
  • Kontroli - alternative implementation of the logical framework Dedukti, concentrating on the verification of proofs.
  • p4-analyzer - static analysis tool which checks P4 code for bugs.
  • pocket_prover-set - base logical system for PocketProver to reason about set properties.
  • Prusti star - prototype verifier for Rust, built upon the the Viper verification infrastructure.
  • rate diamonds - clausal proof checker (DRAT, DPR) for certifying SAT solvers' unsatisfiability results.
  • rlfsc - A checker for the LFSC proof language.
  • Rust verification tools list information_source - list of tools
  • smetamath star - parallel and incremental verifier for Metamath databases.
  • Scryer Prolog star - modern Prolog implementation.
  • t3p - optimized TESC (Theory-Extensible Sequent Calculus) verifier.
  • Verifier - Trivial proof verifier - an interface to the Metamath Zero kernel.

Libraries

  • anthem - translate answer set programs to first-order theorem prover language.
  • Closure Calculus - library for Barry Jay's Closure Calculus.
  • CNF Parser - efficient and customizable parser for the .cnf file format.
  • compiler - trivial compiler framework for Metamath Zero binary proofs.
  • DIMACS Parser - utilities to parse files in DIMACS .cnf or .sat file format.
  • discrimination-tree - discrimination tree term indexing.
  • egg star - flexible, high-performance e-graph library.
  • Fathom star - declarative data definition language for formally specifying binary data formats.
  • Flussab CNF - parsing and writing of the DIMACS CNF file format
  • foliage - first-order logic with integer arithmetics.
  • formal-systems-learning-rs - simulations using 2AFC triads to learn formal systems as typed first-order term rewriting systems.
  • Kravanenn star - set of tools for Coq.
  • linear_solver - linear solver designed to be easy to use with Rust enums.
  • list-routine-learning-rs - simulations using input/output examples to learn typed first-order term rewriting systems that perform list routines.
  • logic-rs skullstar - parser of relational predicate logic & truth tree solver.
  • minitt-rs skullstar - became Voile.
  • mm0-rs star - MM0/MM1 server and utilities.
  • mmb-binutils - utility tools for Metamath Zero binary proof files.
  • mmb-parser - parser for the Metamath Zero binary proof format
  • mmb-types - library containing the definitions of the opcodes in the Metamath Zero binary proof files.
  • moniker star - automagical variable binding library.
  • n-queens-sat - Modelling n-queens problem as conjunctive normal form and solving it with DPLL algorithm.
  • nanoda skullstar - became nanoda-lib.
  • nanoda_lib - type inference/checking functionality based on the Lean theorem prover.
  • Narc star - dependently-typed programming language with Agda style dependent pattern matching.
  • olean-rs - parser/viewer for olean files.
  • Pikelet star - small, functional, dependently typed programming language.
  • polytype star - Hindley-Milner polymorphic typing system.
  • program-induction star - library for program induction and learning representations.
  • Prop - library for theorem proving with Intuitionistic Propositional Logic.
  • rust-nbe-for-mltt star - normalization by evaluation for Martin-Löf Type Theory with dependent records.
  • rust-unify recycle - unification algorithum implementation.
  • Rusty Razor star - tool for constructing finite models for first-order theories.
  • Splr star - modern CDCL SAT solver.
  • sudoku_sat - solve Sudoku variants with SAT solvers.
  • Symmetric Interaction Calculus star - programming language and model of computation that matches the optimal λ-calculus reduction algorithm perfectly.
  • tarpit-rs star - type-level implementation of Smallfuck in Rust, doubling as a Turing-completeness proof for Rust's type system.
  • term-rewriting-rs star - library for representing, parsing, and computing with first-order term rewriting systems.
  • tptp diamonds - parse the TPTP format.
  • The Trivial Metamath Zero kernel - Metamath Zero kernel for Trivial.
  • Voile skullstar - became Narc.
  • Whisper star - logic Programming DSL.

Books

  • plar-rs - Exploring John Harrison's Handbook of Practical Logic and Automated Reasoning.
  • TAPL in Rust star - another collection of implementations of TAPL.
  • tapl-rust baby_chick - very limited TAPL implemention.
  • tnt - implementation of Hofstader's "Typographical Number Theory" from the book Gödel, Escher, and Bach.
  • types-and-programming-languages star - Exercises from Benjamin Pierce's "Types and Programming Languages" textbook + extras!

Kanren

  • Canrun star - logic programming library inspired by the *Kanren family of language DSLs.
  • miniKANREN - miniKANREN as a DSL.
  • rslogic star - logic programming framework for Rust inspired by µKanren.
  • rust-kanren star - loose interpretation of miniKanren and cKanren.

Lambda_Calculus

  • blc - implementation of the binary lambda calculus.
  • lambda_calc - command-line untyped lambda calculus interpreter.
  • lambda_calculus star - simple, zero-dependency implementation of pure lambda calculus in safe Rust.
  • Lamcal - Lambda Calculus parser and evaluator and a separate command line REPL.

Resources

Thesis

Crates keywords

Community


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK