awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
leanprover avatar

leanprover/lean4

0
View on GitHub↗
8,306 stele·881 fork-uri·Lean·Apache-2.0·3 vizualizărilean-lang.org↗

Lean4

Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems.

The system distinguishes itself through a small-kernel verification model, where all proofs are verified by a trusted core of basic logical rules. It employs a tactic-based approach to automate proof construction and supports the creation of modular mathematical libraries for collaborative development. The environment also includes capabilities for literate programming, combining formal proofs with informal prose for scientific documentation.

The project covers a broad range of capabilities, including formal software verification for distributed protocols and program semantics, as well as general-purpose functional programming with monadic effect management. It provides tools for automated reasoning, counterexample generation, and differential testing to ensure systems behave exactly as specified.

The language is designed for efficiency with pure functional compilation and reference-counting memory management, and it can be executed directly within a web browser.

Features

  • Functional Programming Logic - Provides a pure functional programming environment with dependent types and monadic IO for general software and logic development.
  • Formal Mathematical Proofs - Provides a system for generating and verifying formal mathematical proofs using a dependently typed functional language.
  • Formal Verification - Proves that a program behaves exactly as specified to ensure memory safety, correctness, and the absence of bugs.
  • Proof Assistants - Acts as an interactive proof assistant for constructing proofs step-by-step via a tactic language.
  • Interactive Proof Derivation - Guides the step-by-step derivation of mathematical proofs using interactive tactics and logical rules.
  • Dependent Type Systems - Implements a type system where types depend on values to enforce complex invariants before execution.
  • Dependent Type Theorem Provers - Functions as a dependent type theorem prover used to formalize mathematics and verify software.
  • Dependent Types - Implements a dependent-type system that allows types to depend on values for encoding complex mathematical properties.
  • General Purpose Languages - Provides a high-level, versatile functional programming language for general software development.
  • Pure Functional Runtimes - Translates high-level logical expressions into an optimized bytecode format for execution on a pure functional runtime.
  • Purely Functional Languages - Implements a purely functional language with immutable data and first-class support for monads.
  • Side Effect Management - Provides techniques for controlling evaluation order and managing impure operations via monadic patterns.
  • Small-Kernel Verification Systems - Verifies all proofs by checking they reduce to a tiny, trusted core of basic logical rules.
  • Automated Proof Construction - Uses a user-extensible tactic language to generate proof terms that are verified by a central kernel.
  • Automated Reasoning Tactics - Implements a tactic-based approach to automate the construction of formal mathematical proofs.
  • Correctness Proofs - Combines programming with formal proofs and induction to ensure software behaves exactly as specified.
  • Formalization Libraries - Provides a framework for building structured, modular libraries of definitions and lemmas for collaborative mathematics.
  • Tactic-Based Proof Construction - Generates formal proof terms by executing high-level scripts that automate the search for logical evidence.
  • Mathematical Property Specifications - Uses inductive predicates and dependent types to define and prove complex mathematical properties of data structures.
  • Formal Verification Tools - Provides a framework for mathematically proving the correctness of software algorithms and protocols.
  • Mathematical Reasoning Training - Generates verified mathematical datasets used to train and benchmark AI reasoning systems.
  • Formalized Mathematics Datasets - Supplies formalized mathematics datasets to train models for discovering and verifying mathematical proofs.
  • Synthetic Reasoning Data Generators - Produces verified datasets of mathematical logic to train and benchmark artificial intelligence reasoning systems.
  • Documentation and Literate Programming - Combines formal proofs with informal prose using a specialized language for scientific communication and web publishing.
  • Mathematical Literate Programming - Implements literate programming capabilities to combine formal proofs with informal prose for scientific documentation.
  • Collaborative Research Environments - Builds a shared foundation of formalized knowledge to allow multiple researchers to tackle complex mathematical theories together.
  • Language Semantics Verification - Translates code into functional representations to formally verify memory safety and borrow semantics.
  • Binary Size Optimizations - Optimizes binary size and execution speed using ownership-aware compilation and reference counting.
  • Parser Grammar Extensions - Allows the definition of custom grammar rules to embed domain-specific languages directly into the core parser.
  • Reference Counting - Uses a refined reference counting system with ownership awareness to manage memory without a heavy garbage collector.
  • Modular Formalization Management - Organizes formalizations into modular components so multiple contributors can work on different parts of a complex proof.
  • Grammar Extensions - Defines custom syntax and grammar rules to embed new languages or domain-specific notations into the environment.
  • Differential Testing - Executes random inputs against both a formal model and a production implementation to ensure identical outputs.
  • Counterexample Identification - Provides tools to automatically generate counterexamples that disprove conjectures and identify logical bugs.
  • Formal Protocol Verification - Includes tools for formally verifying the correctness of distributed communication and consensus protocols.

Istoric stele

Graficul istoricului de stele pentru leanprover/lean4Graficul istoricului de stele pentru leanprover/lean4

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Lean4

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Lean4.
  • coq/coqAvatar coq

    coq/coq

    5,488Vezi pe GitHub↗

    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

    OCaml
    Vezi pe GitHub↗5,488
  • adambard/learnxinyminutes-docsAvatar adambard

    adambard/learnxinyminutes-docs

    12,287Vezi pe GitHub↗

    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

    Markdown
    Vezi pe GitHub↗12,287
  • model-checking/kaniAvatar model-checking

    model-checking/kani

    2,943Vezi pe GitHub↗

    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

    Rustmodel-checkingrustverification
    Vezi pe GitHub↗2,943
  • nasa-sw-vnv/ikosAvatar NASA-SW-VnV

    NASA-SW-VnV/ikos

    3,115Vezi pe GitHub↗

    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

    C++abstract-interpretationprogram-analysissoftware-verification
    Vezi pe GitHub↗3,115
Vezi toate cele 30 alternative pentru Lean4→

Întrebări frecvente

Ce face leanprover/lean4?

Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems.

Care sunt principalele funcționalități ale leanprover/lean4?

Principalele funcționalități ale leanprover/lean4 sunt: Functional Programming Logic, Formal Mathematical Proofs, Formal Verification, Proof Assistants, Interactive Proof Derivation, Dependent Type Systems, Dependent Type Theorem Provers, Dependent Types.

Care sunt câteva alternative open-source pentru leanprover/lean4?

Alternativele open-source pentru leanprover/lean4 includ: coq/coq — Coq is an interactive theorem prover and proof assistant used for formal mathematical verification and verified… adambard/learnxinyminutes-docs — This project is a collection of programming language references and syntax cheat sheets designed for rapid developer… model-checking/kani — Kani is a formal verification tool and model checker for Rust. It functions as a bit-precise static analyzer that… nasa-sw-vnv/ikos — Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors… google-deepmind/alphageometry — AlphaGeometry is a neuro-symbolic AI system designed as an automated geometry solver and theorem prover. It integrates… higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime…