A collaboration with Proof · 1 public repo per week

Are you an open source maintainer? We can help your project.

Completely free for open source repositories.

Proof turns your repository into a graph of requirements that humans and agents can both use. It finds as many bugs as it can, and gives you the tools to triage GitHub issues and pull requests from contributors — including community bug reports and security reports.

Lean good first issues

39 open Lean issues currently match the default 10+ star filter. Scored difficulty: 5,947 at 1/5, 8,791 at 2/5, 12,710 at 3/5, 12,148 at 4/5, 859 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Lean.

All languages · Browse projects · How to find good first issues

Active filters:Language: Lean • Stars: 10+ Stars
Filters trigger API requests for better performance

Showing 30 of 39 opportunities to contribute from the last 14 days

AI Summary: This issue proposes a strategy to process 251 specific routines that are loop-free but contain function calls. The approach involves composing existing contracts of called functions and then creating a prioritized worklist for parallel processing. Routines with un-contracted callees will contribute those missing contracts back to the work queue.

Complexity:4/5
help wantedarea:verified-coreproof

AI Summary: This issue proposes adding support for CIRCT's `verif.assume` and `verif.assert` operations to the Veir dialect. This involves creating a new `Verif` directory and defining the necessary operations and verifiers, initially focusing on cases where the property argument is an `i1`.

Complexity:2/5
good first issue

Verified Intermediate Representation

Lean

AI Summary: This issue proposes adding support for CIRCT's `seq` dialect within the Veir project. The initial goal is to implement parsing for the `seq.clock` type and the `seq.to_clock` and `seq.firreg` operations, enabling the representation of basic register circuits. Future enhancements include support for `seq.clock_inv` and `seq.shiftreg` operations.

Complexity:3/5
good first issue

Verified Intermediate Representation

Lean

AI Summary: This issue proposes adding support for the `hw.instance` operation in CIRCT, which is necessary for instantiating previously defined `hw.module` operations. The implementation will involve defining a new operation and verifier within Veir's HW dialect, with initial support focusing on core functionality and ignoring `inner_sym` and `doNoPrint` parameters.

Complexity:3/5
good first issue

Verified Intermediate Representation

Lean

AI Summary: This issue proposes to fix scoped notation for topological properties (like `IsOpen[T]`) so that they are correctly displayed in documentation generation. Currently, this notation is not rendered, making it difficult to understand the specific topology used in certain mathematical definitions within the documentation.

Complexity:3/5
good first issue

The math library of Lean 4

Lean
#lean4

AI Summary: This issue proposes the creation of an API map for Lattice Quantum Field Theory (QFT). The goal is to document the primary results and functionalities that should be included in this API map.

Complexity:2/5
good first issue

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: This issue proposes creating a new top-level directory named 'LatticeQFT' within the repository. This directory will serve as a foundational stub, containing a 'Basic.lean' file that will later reference other directories related to Lattice Quantum Field Theory. The goal is to establish a central point for organizing and linking future Lattice QFT work.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: This issue requires the creation of semantic specifications (spec triples) for seven RLP read routines in Lean. While string-to-program correspondence theorems exist, the actual computation of these routines is not yet defined. The encode side routines are considered higher value and can be addressed independently.

Complexity:4/5
enhancementhelp wantedarea:verified-coreproof

AI Summary: This issue requires a formal mathematical proof within a formal verification system (likely Lean) of the Glosten-Milgrom adverse-selection model. The proof should demonstrate how the bid-ask spread arises from informed traders and Bayesian updating, and confirm that the spread is positive under specific conditions. This involves implementing Bayesian probability and conditional expectations.

Complexity:4/5
help wantedtype:proofdifficulty:mediumstatus:readyarea:execution

Formally verified mathematical finance in Lean 4. Black–Scholes/Greeks/PDE, Itô calculus, FTAP/Girsanov, CRR→BS convergence, Merton jump-diffusion.

Lean
#black-scholes#derivatives-pricing#formal-methods#formal-verification#ito-calculus#lean4#mathematical-finance#mathlib#option-pricing#quantitative-finance#stochastic-calculus#theorem-proving

AI Summary: This issue reports an incorrect symbol `𝓢` used in the documentation of the `physlib` repository. The symbol appears to be a typo and should be `𝓣` (time-ordering) to accurately reflect the mathematical content of the lemma `timeOrder_eq_maxTimeField_mul_finset`. The suggested correction replaces the erroneous symbol with the correct one for clarity and consistency.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: This issue reports a typo in the `physlib` documentation where a tensor product example incorrectly refers to an undefined variable `T1` instead of the declared tensor `T`. The suggested correction replaces `T1` with `T` to align the example with the surrounding text and maintain consistency with other documentation in the file.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation in `Position.lean` incorrectly states that a section discusses generalized eigenvectors of the momentum operator. The actual content, specifically the lemma `positionStates_generalized_eigenvector_positionOperatorUnbounded`, demonstrates that these are generalized eigenvectors of the position operator. The suggested correction is to change the documentation header to accurately reflect this.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for a mapping function in the `physlib` repository incorrectly claims that anomaly cancellation is preserved. Upon investigation, there are no lemmas or proofs in the associated code that support this claim, while other documented properties like potential term presence and completeness are indeed supported. The suggested correction removes the erroneous claim about anomaly cancellation from the documentation.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for the `Renyi.lean` file incorrectly claims it covers α-Renyi entropy. Upon inspection, the file only contains definitions and theorems related to quantum relative entropy, with no mention or implementation of α-Renyi entropy. The suggested correction is to remove the false claim from the module docstring.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for `normPowerSeries` incorrectly identifies it as a power series. The issue points out that its definition `sqrt(‖x‖^2 + 1/(n+1))` is a sequence of functions, not a power series. The suggested correction replaces "power series" with "sequence of functions" to accurately reflect its mathematical nature.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for `realLorentzTensor` in `Basic.lean` incorrectly states it's for complex Lorentz tensors. The surrounding code and context clearly indicate it's for real Lorentz tensors, and the suggested correction updates the docstring to accurately reflect this.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for the Euler-Lagrange equations in the `physlib` repository incorrectly states that the variational derivative of the Lagrangian itself is equal to the `eulerLagrangeOp`. The actual theorem proves that the variational derivative of the action functional (the integral of the Lagrangian over time) yields the Euler-Lagrange operator. The suggested correction clarifies this by referring to the integral of the Lagrangian.

Complexity:2/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for the MSSM in the `physlib` repository incorrectly claims support for right-handed neutrinos (RHNs). The actual code implements anomaly cancellation conditions only for the standard MSSM without RHNs, lacking any definitions for RHN-specific species or charges. The suggested correction removes the mention of RHNs from the documentation to align it with the code's capabilities.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for Lorentz tensors in `Metrics/Basic.lean` incorrectly labels them as 'complex' when they are actually real-valued, as indicated by the `ℝT` type. The suggested correction is to change 'complex' to 'real' in the documentation to accurately reflect the tensor's type and mathematical context.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: This issue reports a documentation error in the `physlib` repository regarding the Levi-Civita tensor. The current documentation incorrectly states that `ε4` represents a rank-four Levi-Civita tensor in 3-dimensional space. The actual tensor is rank-three and exists in 4-dimensional space, as indicated by the code's use of `Fin 4` indices.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for WickAlgebra grading in `Grading.lean` incorrectly states that the parameter `𝓕` is a `FieldStatistic`. In reality, `𝓕` is a `FieldSpecification`, which is a structure containing field data. The documentation should be updated to reflect this distinction to avoid confusion between the grading group (`FieldStatistic`) and the parameter's type.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for the Galilean action on space in `physlib/Physlib/SpaceAndTime/GalileanGroup/Basic.lean` incorrectly states it acts on space at a fixed time. The function `actSpace` actually depends on a `Time` parameter `t`, as shown in its implementation and the module's definition of Galilean transformations. The suggested correction clarifies that the action depends on the given time `t`.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: The documentation for `ZModCharges` in `ZMod.lean` incorrectly initializes the set `S`. The current initialization creates a set with a single element instead of the intended set of all possible charge spectra. The suggested correction uses `Finset.univ.filter` to correctly generate the desired set.

Complexity:1/5
good first issuehelp-wanted

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

AI Summary: This issue proposes formalizing key-rate (partial) duration in a financial modeling library. It involves defining the sensitivity of a bond's price to changes in specific spot rates and proving that the sum of these key-rate durations equals the effective duration under a parallel yield curve shift. This extends existing single-factor duration calculations to a multi-factor framework.

Complexity:4/5
help wantedarea:fixed-incometype:proofdifficulty:mediumstatus:in-progress

Formally verified mathematical finance in Lean 4. Black–Scholes/Greeks/PDE, Itô calculus, FTAP/Girsanov, CRR→BS convergence, Merton jump-diffusion.

Lean
#black-scholes#derivatives-pricing#formal-methods#formal-verification#ito-calculus#lean4#mathematical-finance#mathlib#option-pricing#quantitative-finance#stochastic-calculus#theorem-proving

AI Summary: This issue requires formalizing the Arbitrage Pricing Theory (APT) in a Lean mathematical proof assistant. Specifically, it asks to derive the exact-factor APT pricing relation E[Rᵢ]−r = Σₖ βᵢₖ λₖ from the no-arbitrage hypothesis, given a linear factor model for asset returns. The derivation should involve a finite-dimensional annihilator argument and generalize the existing CAPM formalization.

Complexity:4/5
help wantedarea:portfoliotype:proofdifficulty:mediumstatus:in-progress

Formally verified mathematical finance in Lean 4. Black–Scholes/Greeks/PDE, Itô calculus, FTAP/Girsanov, CRR→BS convergence, Merton jump-diffusion.

Lean
#black-scholes#derivatives-pricing#formal-methods#formal-verification#ito-calculus#lean4#mathematical-finance#mathlib#option-pricing#quantitative-finance#stochastic-calculus#theorem-proving

AI Summary: This issue proposes formalizing the life-contingent annuity present value, denoted as ä_x:n, in the Lean mathematical library. The goal is to define this survival-weighted sum and prove its basic properties, such as nonnegativity and its reduction to the certain annuity when survival is guaranteed.

Complexity:3/5
help wantedarea:actuarialtype:proofdifficulty:mediumstatus:in-progress

Formally verified mathematical finance in Lean 4. Black–Scholes/Greeks/PDE, Itô calculus, FTAP/Girsanov, CRR→BS convergence, Merton jump-diffusion.

Lean
#black-scholes#derivatives-pricing#formal-methods#formal-verification#ito-calculus#lean4#mathematical-finance#mathlib#option-pricing#quantitative-finance#stochastic-calculus#theorem-proving

AI Summary: This issue aims to formally prove that an American put option is strictly more valuable than a European put option when interest rates are positive. This is achieved by demonstrating a scenario within a binomial tree model where immediate exercise of the American put yields a higher payoff than holding it for one more step and then exercising.

Complexity:4/5
help wantedarea:binomialtype:proofdifficulty:mediumstatus:in-progress

Formally verified mathematical finance in Lean 4. Black–Scholes/Greeks/PDE, Itô calculus, FTAP/Girsanov, CRR→BS convergence, Merton jump-diffusion.

Lean
#black-scholes#derivatives-pricing#formal-methods#formal-verification#ito-calculus#lean4#mathematical-finance#mathlib#option-pricing#quantitative-finance#stochastic-calculus#theorem-proving

AI Summary: This issue presents Green's Open Problem #82, which asks for the number of real numbers $\theta$ (modulo 1) for which the sum of cosines of elements in a given finite set of integers $A$ equals zero. The problem is related to number theory and analysis, with AMS categories 11 and 42.

Complexity:4/5
good first issuenew conjecturegreen-problems

A collection of formalized statements of conjectures in Lean.

Lean
#formal-mathematics#lean4

AI Summary: This issue reports a typo in the documentation of the `physlib` repository. The word 'FiedOpAlgebra' was used instead of the correct term 'FieldOpAlgebra' in a section heading. The suggested correction is to replace the misspelled term with the correct one to ensure documentation accuracy and consistency.

Complexity:1/5
good first issue

A project to digitalise results from physics into Lean.

Lean
#lean#physics#theorem-proving

Also browsing: Python , TypeScript , JavaScript