30 open-source projects similar to leanprover/lean4, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Lean4 alternative.
Coq is an interactive theorem prover and proof assistant used for formal mathematical verification and verified software development. It utilizes the Gallina functional language to define computable functions and logical propositions, which are then verified through a machine-checked kernel. The system employs a dependent type system and a Caldicott-style proof engine to automate proof search and tactic execution. These capabilities allow for the creation of formal specifications and the development of algorithms that are mathematically proven to meet specific requirements. The toolset inclu
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Kani is a formal verification tool and model checker for Rust. It functions as a bit-precise static analyzer that mathematically proves the correctness and memory safety of code by exhaustively analyzing program states to identify undefined behavior, panics, and logic errors. The tool identifies bugs by producing concrete counterexamples when program assertions or safety contracts are violated. It enables the definition of function contracts through preconditions and postconditions to verify that inputs and outputs match expected behavior. The system provides capabilities for Rust program an
Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors and runtime errors in C and C++ source code. It functions as an abstract interpretation tool that approximates program execution to identify potential crashes and software defects. The system utilizes a compiler front-end to translate source code into a specialized abstract representation. This process decouples language parsing from the analysis logic, allowing the framework to perform deep program analysis via a formal verification system. The toolkit covers several analys
AlphaGeometry is a neuro-symbolic AI system designed as an automated geometry solver and theorem prover. It integrates a large language model with a formal proof engine to derive geometric conclusions from given premises and generate step-by-step formal proofs. The system distinguishes itself by combining a symbolic deduction engine with neural-driven auxiliary constructions. This architecture uses a language model to propose additional points or lines to bridge gaps in a proof, while a deductive database and algebraic reasoning system verify the mathematical correctness of each step against
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Swift is a general purpose, compiled systems programming language designed for building high-performance software. It is a strongly typed language that focuses on memory safety and type safety to prevent runtime errors. The language is designed for native code integration, allowing it to interoperate with C and Objective-C libraries to leverage existing system functions and high-performance APIs. The project covers broad capabilities in type-safe application development and cross-platform toolchain engineering. It includes infrastructure for automated language validation, compiler performanc
This project is an agentic development framework and autonomous software engineering system. It utilizes a coordinated network of specialized LLM agents to automate the full software development lifecycle, from codebase exploration and architectural planning to implementation and automated refactoring. The system is distinguished by an agentic memory system and a test-driven development orchestrator. It maintains project continuity across sessions by capturing architectural learnings and state in a persistent semantic database and enforces code quality through an automated cycle of generating
PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje
Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim
This project is a Swift standard library extension and cross-platform system library. It provides a collection of core utility types and fundamental data structures that extend the base Swift language, acting as an OS-independent interface layer for handling system operations such as networking and file systems. The project features a specialized C++ interoperability layer that maps C++ types and functions into compatible Swift interfaces for cross-language communication. This includes a bridging mechanism to handle standard library types and foreign containers, allowing C++ types to be mappe
This project is a comprehensive framework for literate programming that enables developers to build production-ready Python libraries entirely within Jupyter Notebooks. By treating notebooks as the primary source of truth, it integrates code, documentation, and testing into a unified development pipeline that exports directly to standard Python modules. The framework distinguishes itself through specialized tooling designed to overcome the inherent challenges of using notebooks in professional software engineering. It includes custom Git hooks and merge drivers that sanitize volatile notebook
Pluto.jl is a reactive computing environment for Julia that functions as a programmable document format. It serves as an interactive data science IDE and a polyglot computational notebook that stores Julia code and environment dependencies as versionable source files. The system is distinguished by its reactive execution model, which uses a directed acyclic graph to track variable dependencies and automatically re-evaluate affected downstream cells when a value changes. It ensures reproducibility by integrating isolated package environments directly within the notebook file and persisting con
Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie
Remeda is a type-safe functional utility library for TypeScript designed for building data transformation pipelines. It provides a toolkit of helper functions for manipulating arrays and objects while maintaining strict type integrity throughout the process. The library is characterized by its support for both data-first and data-last calling styles. It utilizes lazy evaluation to process data collections, evaluating transformations only when the final result is requested to avoid creating intermediate collection copies. The toolkit covers collection manipulation, function composition, and t
DreamBerd is a general purpose programming language designed for building applications with integrated support for reactive state, time-aware memory management, and embedded user interface markup. It functions as a programming environment that tracks dynamic values and coordinates asynchronous tasks through sequential execution constraints. The language is distinguished by its ability to track variable history, providing dedicated keywords to retrieve previous, current, and future values of variables during execution. It further differentiates itself through a memory model that controls varia
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
Ruby is a general-purpose, dynamic programming language built on an object-oriented runtime environment. It treats every piece of data as an object, ensuring a consistent interface for manipulation across the entire system. The language is designed to support programmer productivity through a focus on natural syntax and flexible metaprogramming capabilities. The runtime distinguishes itself through a pure object model that allows for dynamic class modification and runtime method definition. It supports functional programming patterns by encapsulating code blocks as objects that capture their
CPython is the primary, community-maintained reference implementation of the Python programming language. It functions as a high-level, interpreted execution environment that compiles source code into platform-independent bytecode for processing by a stack-based virtual machine. The runtime manages memory through a combination of reference counting and generational cyclic garbage collection, while dynamic type dispatching determines object behavior at runtime based on metadata stored within object headers. The project is distinguished by its C-based architecture, which provides a stable forei
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow
Gop is a general purpose programming language and cross-language compiler designed to unify assets and libraries from multiple programming ecosystems into a single shared environment. It translates high-level source code into executable binaries using specialized backends tailored for different target environments. The project features a system for natural language programming, transforming human-readable instructions written in plain English into executable code. It also functions as a cross-language tool that imports and integrates external libraries and assets from different language ecosy
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Sway is a smart contract development language and programming environment designed for writing, compiling, and deploying secure blockchain programs. It serves as a type-safe language for building on-chain logic and a static analysis toolchain that validates contracts before they are executed on a network. The ecosystem provides a development environment focused on blockchain application logic and web3 backend engineering. It integrates a type-safe programming approach to reduce vulnerabilities and ensure reliable state transitions for decentralized services. The toolchain incorporates static
Cats is a Scala functional programming library and type class library designed to implement algebraic patterns and functional abstractions. It provides a standardized set of interfaces and a modular toolkit of functional wrappers and containers to enable ad-hoc polymorphism and generic programming across disparate types. The project serves as a functional abstraction standard, offering a monad transformer suite to compose nested effectful contexts and handle multiple computational side effects within a single pipeline. It further enables the construction of embedded domain-specific languages
This project is a comprehensive security suite and knowledge base focused on the engineering and construction of trustworthy digital and physical systems. It provides a systematic framework for security engineering design, covering the establishment of high-assurance architectures and the implementation of security models that govern how a system achieves its safety goals. The project is distinguished by its focus on formal assurance and adversarial deterrence. It includes methodologies for creating security assurance cases and proofs to verify system trustworthiness, alongside economic and t
Ring is a low-level cryptographic primitive library and security toolset designed for building portable, secure applications. It provides a collection of implementations for RSA, elliptic curve cryptography, and authenticated symmetric encryption. The project focuses on constant-time cryptography to prevent secret data from leaking through timing side-channel attacks. It utilizes a formal verification tool that generates arithmetic logic from templates, ensuring mathematical correctness and eliminating manual implementation errors. The library includes capabilities for producing cryptographi
This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c
This repository is a comprehensive collection of fully worked solutions to exercises and problems from the standard algorithms textbook by Cormen, Leiserson, Rivest, and Stein (CLRS). It serves as an educational reference for algorithm design and analysis, providing step-by-step reasoning, pseudocode, and mathematical proofs for a wide range of topics. The content spans core computer science areas: algorithm analysis with asymptotic notation, recurrence solving, and amortized cost analysis; data structure implementation and operations for binary search trees, red-black trees, B-trees, Fibonac
Yosys is a digital logic synthesizer and RTL synthesis tool that transforms hardware description language code into optimized gate-level representations. It functions as a hardware logic optimizer and formal verification tool, providing a framework to convert generic circuit representations into specific technology library cells for targeted hardware platforms. The project serves as a hardware design automator through a scriptable environment used to execute sequences of synthesis commands. This automation allows for the management of complex digital hardware workflows, integrating RTL design