Lean AI formalization leaderboard

lean-eval

Lean AI formalization leaderboard

Public results on a benchmark of hard Lean formalization problems. Expand any row to inspect solved theorems, extracted statements, and links to public proofs when available.

19
13
7
55

Leaderboard

Model rankings

Ranked by main benchmark problems solved. Internal test problems do not count toward the score.

1Aleph Prover(logicalintelligence.com)27 solved
Balanceable k-bounded partitions
balanceable_bounded_partitions

Verso theorem preview

theorem declaration uses `sorry`minimal_balanceable_of_bounded (k : ) (hk : 0 < k) : Minimal (fun n => 0 < n p : n.Partition, LeanEval.Combinatorics.Bounded k p LeanEval.Combinatorics.Balanceable p) (2 * (Finset.Icc 1 k).lcm id) := k:hk:0 < kMinimal (fun n => 0 < n (p : n.Partition), Bounded k p Balanceable p) (2 * (Finset.Icc 1 k).lcm id) All goals completed! 🐙
#1
How produced

Solved without human intervention. Two `native_decide`'s were used in the AI-generated proof(one as `interval_cases k <;> native_decide`). Those were replaced with `decide` manually. The goals that were solved by `native_decide`->`decide` were: ``` ⊢ ∑ i ∈ Finset.Icc 1 0, i * (i - 2) ≤ 0 * (0 - 1) * (0 - 2) / 2 case pos.«0» k : ℕ ih : ∑ i ∈ Finset.Icc 1 0, i * (i - 2) ≤ 0 * (0 - 1) * (0 - 2) / 2 hk : 0 < 3 ⊢ ∑ i ∈ Finset.Icc 1 (0 + 1), i * (i - 2) ≤ (0 + 1) * (0 + 1 - 1) * (0 + 1 - 2) / 2 case pos.«1» k : ℕ ih : ∑ i ∈ Finset.Icc 1 1, i * (i - 2) ≤ 1 * (1 - 1) * (1 - 2) / 2 hk : 1 < 3 ⊢ ∑ i ∈ Finset.Icc 1 (1 + 1), i * (i - 2) ≤ (1 + 1) * (1 + 1 - 1) * (1 + 1 - 2) / 2 case pos.«2» k : ℕ ih : ∑ i ∈ Finset.Icc 1 2, i * (i - 2) ≤ 2 * (2 - 1) * (2 - 2) / 2 hk : 2 < 3 ⊢ ∑ i ∈ Finset.Icc 1 (2 + 1), i * (i - 2) ≤ (2 + 1) * (2 + 1 - 1) * (2 + 1 - 2) / 2 ``` (Aleph wasn't rerun in strict mode just to save time)

Bing's house with two rooms is contractible
contractibleSpace_houseWithTwoRooms

Verso theorem preview

theorem declaration uses `sorry`contractibleSpace_houseWithTwoRooms : ContractibleSpace LeanEval.Topology.HouseWithTwoRooms := ContractibleSpace HouseWithTwoRooms All goals completed! 🐙
#2
How produced

Solved completely autonomously without human intervention

A competition programming problem about permuting a permutation to be unimodal
permute_to_unimodal

Verso theorem preview

theorem declaration uses `sorry`minRearrange_correct {arr : Array Nat} : arr.Perm (1...=arr.size).toArray ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector = LeanEval.ProgramVerification.minRearrange arr) ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.minRearrange arr LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector) := arr:Array Natarr.Perm (1...=arr.size).toArray ( x hx, Unimodal x differences (Vector.mk x ) arr.toVector = minRearrange arr) (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), Unimodal x minRearrange arr differences (Vector.mk x ) arr.toVector All goals completed! 🐙
#3
How produced

Solved completely autonomously without human intervention

Chen theorem for Markoff graphs
dvd_card_connectedComponent_markoffGraph

Verso theorem preview

theorem declaration uses `sorry`dvd_card_connectedComponent_markoffGraph {p : } (hp : Nat.Prime p) (hgt : 3 < p) : c : (LeanEval.Combinatorics.markoffGraph p).ConnectedComponent, p Nat.card c := p:hp:Nat.Prime phgt:3 < p (c : (markoffGraph p).ConnectedComponent), p Nat.card c All goals completed! 🐙
#4
How produced

Solved completely autonomously without human intervention

Existence of a non-isotopic pair of oriented two-component links
exists_nonisotopic_link

Verso theorem preview

theorem declaration uses `sorry`exists_nonisotopic_link : L₁ L₂ : LeanEval.KnotTheory.TwoLink, ¬ L₁.Isotopic L₂ := L₁ L₂, ¬L₁.Isotopic L₂ All goals completed! 🐙
#5
How produced

Solved completely autonomously without human intervention

von Neumann double commutant theorem
vonNeumann_doubleCommutant_tfae

Verso theorem preview

theorem declaration uses `sorry`vonNeumann_doubleCommutant_tfae {H : Type*} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (S : StarSubalgebra (H →L[] H)) : List.TFAE [ Set.centralizer (Set.centralizer (S : Set (H →L[] H))) = S , IsClosed (ContinuousLinearMap.toWOT (RingHom.id ) H H '' (S : Set (H →L[] H))) , IsClosed (ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H '' (S : Set (H →L[] H))) ] := H:Type u_1inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace Hinst✝:CompleteSpace HS:StarSubalgebra (H →L[] H)[(↑S).centralizer.centralizer = S, IsClosed ((ContinuousLinearMap.toWOT (RingHom.id ) H H) '' S), IsClosed ((ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H) '' S)].TFAE All goals completed! 🐙
#6
How produced

Solved completely autonomously without human intervention

Schur-Weyl duality: S_k image equals centralizer of GL(V) image
symAction_range_eq_centralizer_glAction

Verso theorem preview

theorem declaration uses `sorry`symAction_range_eq_centralizer_glAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (symAction R M k)) = Subalgebra.centralizer R (Set.range (glAction R M k)) All goals completed! 🐙
#7
How produced

Solved without human intervention Solution to glAction_range_eq_centralizer_symAction was used for this proof as internally all the benchmark problems were put into a single Lean project. We manually inlined that solution.

Schur-Weyl duality: GL(V) image equals centralizer of S_k image
glAction_range_eq_centralizer_symAction

Verso theorem preview

theorem declaration uses `sorry`glAction_range_eq_centralizer_symAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (glAction R M k)) = Subalgebra.centralizer R (Set.range (symAction R M k)) All goals completed! 🐙
#8
How produced

Solved completely autonomously without human intervention

Complementary polynomial on the unit circle
exists_complementary_polynomial_on_unit_circle

Verso theorem preview

theorem declaration uses `sorry`exists_complementary_polynomial_on_unit_circle (P : [X]) (hP : z : Circle, P.eval (z : ) 1) : Q : [X], Q.natDegree P.natDegree z : Circle, P.eval (z : ) ^ 2 + Q.eval (z : ) ^ 2 = 1 := P:[X]hP: (z : Circle), eval (↑z) P 1 Q, Q.natDegree P.natDegree (z : Circle), eval (↑z) P ^ 2 + eval (↑z) Q ^ 2 = 1 All goals completed! 🐙
#9
How produced

Solved completely autonomously without human intervention

Gaussian heat kernel solves the 1D heat equation
heat_kernel_solves_heat_equation

Verso theorem preview

theorem declaration uses `sorry`heat_kernel_solves_heat_equation (f : ) (hf_cont : Continuous f) (hf_bdd : M : , x, |f x| M) : -- The PDE on (0, ∞) × ℝ. ( t : , 0 < t x : , ux : , uxx : , ( y : , HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) -- Initial condition recovered as a one-sided limit at t = 0. ( x : , Filter.Tendsto (fun t : => heatSolution f t x) (nhdsWithin (0 : ) (Set.Ioi 0)) (nhds (f x))) := f: hf_cont:Continuous fhf_bdd: M, (x : ), |f x| M(∀ (t : ), 0 < t (x : ), ux uxx, (∀ (y : ), HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) (x : ), Filter.Tendsto (fun t => heatSolution f t x) (nhdsWithin 0 (Set.Ioi 0)) (nhds (f x)) All goals completed! 🐙
#10
How produced

Solved completely autonomously without human intervention

Linear ODE with negative-real-part eigenvalues is asymptotically stable
linear_ode_asymptotic_stability

Verso theorem preview

theorem declaration uses `sorry`linear_ode_asymptotic_stability (n : ) (A : Matrix (Fin n) (Fin n) ) (hA : μ : , Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0) (x : (Fin n )) (hx : t : , 0 < t HasDerivAt x (A.mulVec (x t)) t) : Filter.Tendsto (fun t : => x t) Filter.atTop (nhds 0) := n:A:Matrix (Fin n) (Fin n) hA: (μ : ), Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0x: Fin n hx: (t : ), 0 < t HasDerivAt x (A *ᵥ x t) tFilter.Tendsto (fun t => x t) Filter.atTop (nhds 0) All goals completed! 🐙
#11
How produced

Solved completely autonomously without human intervention

Burnside p^a q^b theorem
finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow

Verso theorem preview

theorem declaration uses `sorry`finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow {G : Type*} [Group G] [Fintype G] {p q a b : } (hp : Nat.Prime p) (hq : Nat.Prime q) (hpq : p q) (hcard : Fintype.card G = p ^ a * q ^ b) : IsSolvable G := G:Type u_1inst✝¹:Group Ginst✝:Fintype Gp:q:a:b:hp:Nat.Prime phq:Nat.Prime qhpq:p qhcard:Fintype.card G = p ^ a * q ^ bIsSolvable G All goals completed! 🐙
#12
How produced

Solved completely autonomously without human intervention

Rouche theorem via zero counting
rouche_zero_count_eq

Verso theorem preview

theorem declaration uses `sorry`rouche_zero_count_eq {f g : } {R : } (hR : 0 < R) (hf : MeromorphicNFOn f Set.univ) (hg : AnalyticOn g Set.univ) (hbound : z : , z = R g z < f z) : (∑ᶠ z, ((divisor (f + g) (Metric.closedBall 0 R))) z) = (∑ᶠ z, ((divisor f (Metric.closedBall 0 R))) z) := f: g: R:hR:0 < Rhf:MeromorphicNFOn f Set.univhg:AnalyticOn g Set.univhbound: (z : ), z = R g z < f z∑ᶠ (z : ), (divisor (f + g) (Metric.closedBall 0 R)) z = ∑ᶠ (z : ), (divisor f (Metric.closedBall 0 R)) z All goals completed! 🐙
#13
How produced

Solved completely autonomously without human intervention

Perron-Frobenius for irreducible nonnegative matrices
irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius

Verso theorem preview

theorem declaration uses `sorry`irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius {n : Type*} [Fintype n] [DecidableEq n] [Nonempty n] (A : Matrix n n ) (hA : A.IsIrreducible) : v : n , Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v ( i, 0 < v i) := n:Type u_1inst✝²:Fintype ninst✝¹:DecidableEq ninst✝:Nonempty nA:Matrix n n hA:A.IsIrreducible v, Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v (i : n), 0 < v i All goals completed! 🐙
#14
How produced

Solved completely autonomously without human intervention

Oppenheim's inequality for Hadamard products
oppenheim_inequality

Verso theorem preview

theorem declaration uses `sorry`oppenheim_inequality {n : Type*} [Fintype n] [DecidableEq n] {A B : Matrix n n } (hA : A.PosSemidef) (hB : B.PosSemidef) : A.det * i, B i i (A B).det := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n B:Matrix n n hA:A.PosSemidefhB:B.PosSemidefA.det * i, B i i (A B).det All goals completed! 🐙
#15
How produced

Solved completely autonomously without human intervention

Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#16
How produced

Solved completely autonomously without human intervention

Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#17
How produced

Solved completely autonomously without human intervention

Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#18
How produced

Solved completely autonomously without human intervention

Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#19
How produced

Solved completely autonomously without human intervention

Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#20
How produced

Solved completely autonomously without human intervention

Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#21
How produced

Solved completely autonomously without human intervention

Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#22
How produced

Solved completely autonomously without human intervention

Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#23
How produced

Solved completely autonomously without human intervention

Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#24
How produced

Solved completely autonomously without human intervention

Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#25
How produced

Solved without human intervention. Then manual one-line fix applied for 4.30 because, as of now, Aleph only supports lean/mathlib versions up to 4.29. ``` 34 - exact ⟨(SimpleGraph.Embedding.induce S).comp f⟩ 34 + exact ⟨(SimpleGraph.Copy.induce G S).comp f⟩ ```

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#26
How produced

Solved completely autonomously without human intervention

Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#29
How produced

Solved completely autonomously without human intervention

Test problems: def_hole_example, instance_hole_example, ci_regenerate_main_check, list_append_singleton_length, two_plus_two (5 / 5 solved)

First submissionMay 7, 2026
Last submissionMay 14, 2026
mayorov-m-a28antpavzhi4
2Seed Prover (ByteDance)27 solved
Balanceable k-bounded partitions
balanceable_bounded_partitions

Verso theorem preview

theorem declaration uses `sorry`minimal_balanceable_of_bounded (k : ) (hk : 0 < k) : Minimal (fun n => 0 < n p : n.Partition, LeanEval.Combinatorics.Bounded k p LeanEval.Combinatorics.Balanceable p) (2 * (Finset.Icc 1 k).lcm id) := k:hk:0 < kMinimal (fun n => 0 < n (p : n.Partition), Bounded k p Balanceable p) (2 * (Finset.Icc 1 k).lcm id) All goals completed! 🐙
#1
Bing's house with two rooms is contractible
contractibleSpace_houseWithTwoRooms

Verso theorem preview

theorem declaration uses `sorry`contractibleSpace_houseWithTwoRooms : ContractibleSpace LeanEval.Topology.HouseWithTwoRooms := ContractibleSpace HouseWithTwoRooms All goals completed! 🐙
#2
Chen theorem for Markoff graphs
dvd_card_connectedComponent_markoffGraph

Verso theorem preview

theorem declaration uses `sorry`dvd_card_connectedComponent_markoffGraph {p : } (hp : Nat.Prime p) (hgt : 3 < p) : c : (LeanEval.Combinatorics.markoffGraph p).ConnectedComponent, p Nat.card c := p:hp:Nat.Prime phgt:3 < p (c : (markoffGraph p).ConnectedComponent), p Nat.card c All goals completed! 🐙
#3
A competition programming problem about permuting a permutation to be unimodal
permute_to_unimodal

Verso theorem preview

theorem declaration uses `sorry`minRearrange_correct {arr : Array Nat} : arr.Perm (1...=arr.size).toArray ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector = LeanEval.ProgramVerification.minRearrange arr) ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.minRearrange arr LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector) := arr:Array Natarr.Perm (1...=arr.size).toArray ( x hx, Unimodal x differences (Vector.mk x ) arr.toVector = minRearrange arr) (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), Unimodal x minRearrange arr differences (Vector.mk x ) arr.toVector All goals completed! 🐙
#4
Burnside p^a q^b theorem
finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow

Verso theorem preview

theorem declaration uses `sorry`finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow {G : Type*} [Group G] [Fintype G] {p q a b : } (hp : Nat.Prime p) (hq : Nat.Prime q) (hpq : p q) (hcard : Fintype.card G = p ^ a * q ^ b) : IsSolvable G := G:Type u_1inst✝¹:Group Ginst✝:Fintype Gp:q:a:b:hp:Nat.Prime phq:Nat.Prime qhpq:p qhcard:Fintype.card G = p ^ a * q ^ bIsSolvable G All goals completed! 🐙
#5
Gaussian heat kernel solves the 1D heat equation
heat_kernel_solves_heat_equation

Verso theorem preview

theorem declaration uses `sorry`heat_kernel_solves_heat_equation (f : ) (hf_cont : Continuous f) (hf_bdd : M : , x, |f x| M) : -- The PDE on (0, ∞) × ℝ. ( t : , 0 < t x : , ux : , uxx : , ( y : , HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) -- Initial condition recovered as a one-sided limit at t = 0. ( x : , Filter.Tendsto (fun t : => heatSolution f t x) (nhdsWithin (0 : ) (Set.Ioi 0)) (nhds (f x))) := f: hf_cont:Continuous fhf_bdd: M, (x : ), |f x| M(∀ (t : ), 0 < t (x : ), ux uxx, (∀ (y : ), HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) (x : ), Filter.Tendsto (fun t => heatSolution f t x) (nhdsWithin 0 (Set.Ioi 0)) (nhds (f x)) All goals completed! 🐙
#6
Linear ODE with negative-real-part eigenvalues is asymptotically stable
linear_ode_asymptotic_stability

Verso theorem preview

theorem declaration uses `sorry`linear_ode_asymptotic_stability (n : ) (A : Matrix (Fin n) (Fin n) ) (hA : μ : , Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0) (x : (Fin n )) (hx : t : , 0 < t HasDerivAt x (A.mulVec (x t)) t) : Filter.Tendsto (fun t : => x t) Filter.atTop (nhds 0) := n:A:Matrix (Fin n) (Fin n) hA: (μ : ), Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0x: Fin n hx: (t : ), 0 < t HasDerivAt x (A *ᵥ x t) tFilter.Tendsto (fun t => x t) Filter.atTop (nhds 0) All goals completed! 🐙
#7
Complementary polynomial on the unit circle
exists_complementary_polynomial_on_unit_circle

Verso theorem preview

theorem declaration uses `sorry`exists_complementary_polynomial_on_unit_circle (P : [X]) (hP : z : Circle, P.eval (z : ) 1) : Q : [X], Q.natDegree P.natDegree z : Circle, P.eval (z : ) ^ 2 + Q.eval (z : ) ^ 2 = 1 := P:[X]hP: (z : Circle), eval (↑z) P 1 Q, Q.natDegree P.natDegree (z : Circle), eval (↑z) P ^ 2 + eval (↑z) Q ^ 2 = 1 All goals completed! 🐙
#8
Existence of a non-isotopic pair of oriented two-component links
exists_nonisotopic_link

Verso theorem preview

theorem declaration uses `sorry`exists_nonisotopic_link : L₁ L₂ : LeanEval.KnotTheory.TwoLink, ¬ L₁.Isotopic L₂ := L₁ L₂, ¬L₁.Isotopic L₂ All goals completed! 🐙
#9
Schur-Weyl duality: GL(V) image equals centralizer of S_k image
glAction_range_eq_centralizer_symAction

Verso theorem preview

theorem declaration uses `sorry`glAction_range_eq_centralizer_symAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (glAction R M k)) = Subalgebra.centralizer R (Set.range (symAction R M k)) All goals completed! 🐙
#10
Schur-Weyl duality: S_k image equals centralizer of GL(V) image
symAction_range_eq_centralizer_glAction

Verso theorem preview

theorem declaration uses `sorry`symAction_range_eq_centralizer_glAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (symAction R M k)) = Subalgebra.centralizer R (Set.range (glAction R M k)) All goals completed! 🐙
#11
von Neumann double commutant theorem
vonNeumann_doubleCommutant_tfae

Verso theorem preview

theorem declaration uses `sorry`vonNeumann_doubleCommutant_tfae {H : Type*} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (S : StarSubalgebra (H →L[] H)) : List.TFAE [ Set.centralizer (Set.centralizer (S : Set (H →L[] H))) = S , IsClosed (ContinuousLinearMap.toWOT (RingHom.id ) H H '' (S : Set (H →L[] H))) , IsClosed (ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H '' (S : Set (H →L[] H))) ] := H:Type u_1inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace Hinst✝:CompleteSpace HS:StarSubalgebra (H →L[] H)[(↑S).centralizer.centralizer = S, IsClosed ((ContinuousLinearMap.toWOT (RingHom.id ) H H) '' S), IsClosed ((ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H) '' S)].TFAE All goals completed! 🐙
#12
Perron-Frobenius for irreducible nonnegative matrices
irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius

Verso theorem preview

theorem declaration uses `sorry`irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius {n : Type*} [Fintype n] [DecidableEq n] [Nonempty n] (A : Matrix n n ) (hA : A.IsIrreducible) : v : n , Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v ( i, 0 < v i) := n:Type u_1inst✝²:Fintype ninst✝¹:DecidableEq ninst✝:Nonempty nA:Matrix n n hA:A.IsIrreducible v, Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v (i : n), 0 < v i All goals completed! 🐙
#13
Oppenheim's inequality for Hadamard products
oppenheim_inequality

Verso theorem preview

theorem declaration uses `sorry`oppenheim_inequality {n : Type*} [Fintype n] [DecidableEq n] {A B : Matrix n n } (hA : A.PosSemidef) (hB : B.PosSemidef) : A.det * i, B i i (A B).det := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n B:Matrix n n hA:A.PosSemidefhB:B.PosSemidefA.det * i, B i i (A B).det All goals completed! 🐙
#14
Rouche theorem via zero counting
rouche_zero_count_eq

Verso theorem preview

theorem declaration uses `sorry`rouche_zero_count_eq {f g : } {R : } (hR : 0 < R) (hf : MeromorphicNFOn f Set.univ) (hg : AnalyticOn g Set.univ) (hbound : z : , z = R g z < f z) : (∑ᶠ z, ((divisor (f + g) (Metric.closedBall 0 R))) z) = (∑ᶠ z, ((divisor f (Metric.closedBall 0 R))) z) := f: g: R:hR:0 < Rhf:MeromorphicNFOn f Set.univhg:AnalyticOn g Set.univhbound: (z : ), z = R g z < f z∑ᶠ (z : ), (divisor (f + g) (Metric.closedBall 0 R)) z = ∑ᶠ (z : ), (divisor f (Metric.closedBall 0 R)) z All goals completed! 🐙
#15
Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#16
Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#17
Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#18
Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#19
Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#20
Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#21
Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#22
Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#23
Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#24
Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#25
pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#26
Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#27
First submissionMay 20, 2026
Last submissionMay 21, 2026
GanjinZero27
3Aristotle (Harmonic)25 solved
A competition programming problem about permuting a permutation to be unimodal
permute_to_unimodal

Verso theorem preview

theorem declaration uses `sorry`minRearrange_correct {arr : Array Nat} : arr.Perm (1...=arr.size).toArray ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector = LeanEval.ProgramVerification.minRearrange arr) ( (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), LeanEval.ProgramVerification.Unimodal x LeanEval.ProgramVerification.minRearrange arr LeanEval.ProgramVerification.differences (Vector.mk x (arr:Array Natx:Array Nathx:x.Perm (1...=arr.size).toArrayx.size = arr.size All goals completed! 🐙)) arr.toVector) := arr:Array Natarr.Perm (1...=arr.size).toArray ( x hx, Unimodal x differences (Vector.mk x ) arr.toVector = minRearrange arr) (x : Array Nat) (hx : x.Perm (1...=arr.size).toArray), Unimodal x minRearrange arr differences (Vector.mk x ) arr.toVector All goals completed! 🐙
#1proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Chen theorem for Markoff graphs
dvd_card_connectedComponent_markoffGraph

Verso theorem preview

theorem declaration uses `sorry`dvd_card_connectedComponent_markoffGraph {p : } (hp : Nat.Prime p) (hgt : 3 < p) : c : (LeanEval.Combinatorics.markoffGraph p).ConnectedComponent, p Nat.card c := p:hp:Nat.Prime phgt:3 < p (c : (markoffGraph p).ConnectedComponent), p Nat.card c All goals completed! 🐙
#2proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration by Stefano Rocca and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Burnside p^a q^b theorem
finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow

Verso theorem preview

theorem declaration uses `sorry`finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow {G : Type*} [Group G] [Fintype G] {p q a b : } (hp : Nat.Prime p) (hq : Nat.Prime q) (hpq : p q) (hcard : Fintype.card G = p ^ a * q ^ b) : IsSolvable G := G:Type u_1inst✝¹:Group Ginst✝:Fintype Gp:q:a:b:hp:Nat.Prime phq:Nat.Prime qhpq:p qhcard:Fintype.card G = p ^ a * q ^ bIsSolvable G All goals completed! 🐙
#3proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Schur-Weyl duality: GL(V) image equals centralizer of S_k image
glAction_range_eq_centralizer_symAction

Verso theorem preview

theorem declaration uses `sorry`glAction_range_eq_centralizer_symAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (glAction R M k)) = Subalgebra.centralizer R (Set.range (symAction R M k)) All goals completed! 🐙
#4proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Schur-Weyl duality: S_k image equals centralizer of GL(V) image
symAction_range_eq_centralizer_glAction

Verso theorem preview

theorem declaration uses `sorry`symAction_range_eq_centralizer_glAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (symAction R M k)) = Subalgebra.centralizer R (Set.range (glAction R M k)) All goals completed! 🐙
#5proof
Complementary polynomial on the unit circle
exists_complementary_polynomial_on_unit_circle

Verso theorem preview

theorem declaration uses `sorry`exists_complementary_polynomial_on_unit_circle (P : [X]) (hP : z : Circle, P.eval (z : ) 1) : Q : [X], Q.natDegree P.natDegree z : Circle, P.eval (z : ) ^ 2 + Q.eval (z : ) ^ 2 = 1 := P:[X]hP: (z : Circle), eval (↑z) P 1 Q, Q.natDegree P.natDegree (z : Circle), eval (↑z) P ^ 2 + eval (↑z) Q ^ 2 = 1 All goals completed! 🐙
#6proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Existence of a non-isotopic pair of oriented two-component links
exists_nonisotopic_link

Verso theorem preview

theorem declaration uses `sorry`exists_nonisotopic_link : L₁ L₂ : LeanEval.KnotTheory.TwoLink, ¬ L₁.Isotopic L₂ := L₁ L₂, ¬L₁.Isotopic L₂ All goals completed! 🐙
#7proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Linear ODE with negative-real-part eigenvalues is asymptotically stable
linear_ode_asymptotic_stability

Verso theorem preview

theorem declaration uses `sorry`linear_ode_asymptotic_stability (n : ) (A : Matrix (Fin n) (Fin n) ) (hA : μ : , Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0) (x : (Fin n )) (hx : t : , 0 < t HasDerivAt x (A.mulVec (x t)) t) : Filter.Tendsto (fun t : => x t) Filter.atTop (nhds 0) := n:A:Matrix (Fin n) (Fin n) hA: (μ : ), Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0x: Fin n hx: (t : ), 0 < t HasDerivAt x (A *ᵥ x t) tFilter.Tendsto (fun t => x t) Filter.atTop (nhds 0) All goals completed! 🐙
#8proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

von Neumann double commutant theorem
vonNeumann_doubleCommutant_tfae

Verso theorem preview

theorem declaration uses `sorry`vonNeumann_doubleCommutant_tfae {H : Type*} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (S : StarSubalgebra (H →L[] H)) : List.TFAE [ Set.centralizer (Set.centralizer (S : Set (H →L[] H))) = S , IsClosed (ContinuousLinearMap.toWOT (RingHom.id ) H H '' (S : Set (H →L[] H))) , IsClosed (ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H '' (S : Set (H →L[] H))) ] := H:Type u_1inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace Hinst✝:CompleteSpace HS:StarSubalgebra (H →L[] H)[(↑S).centralizer.centralizer = S, IsClosed ((ContinuousLinearMap.toWOT (RingHom.id ) H H) '' S), IsClosed ((ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H) '' S)].TFAE All goals completed! 🐙
#9proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Gaussian heat kernel solves the 1D heat equation
heat_kernel_solves_heat_equation

Verso theorem preview

theorem declaration uses `sorry`heat_kernel_solves_heat_equation (f : ) (hf_cont : Continuous f) (hf_bdd : M : , x, |f x| M) : -- The PDE on (0, ∞) × ℝ. ( t : , 0 < t x : , ux : , uxx : , ( y : , HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) -- Initial condition recovered as a one-sided limit at t = 0. ( x : , Filter.Tendsto (fun t : => heatSolution f t x) (nhdsWithin (0 : ) (Set.Ioi 0)) (nhds (f x))) := f: hf_cont:Continuous fhf_bdd: M, (x : ), |f x| M(∀ (t : ), 0 < t (x : ), ux uxx, (∀ (y : ), HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) (x : ), Filter.Tendsto (fun t => heatSolution f t x) (nhdsWithin 0 (Set.Ioi 0)) (nhds (f x)) All goals completed! 🐙
#10proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI, with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Rouche theorem via zero counting
rouche_zero_count_eq

Verso theorem preview

theorem declaration uses `sorry`rouche_zero_count_eq {f g : } {R : } (hR : 0 < R) (hf : MeromorphicNFOn f Set.univ) (hg : AnalyticOn g Set.univ) (hbound : z : , z = R g z < f z) : (∑ᶠ z, ((divisor (f + g) (Metric.closedBall 0 R))) z) = (∑ᶠ z, ((divisor f (Metric.closedBall 0 R))) z) := f: g: R:hR:0 < Rhf:MeromorphicNFOn f Set.univhg:AnalyticOn g Set.univhbound: (z : ), z = R g z < f z∑ᶠ (z : ), (divisor (f + g) (Metric.closedBall 0 R)) z = ∑ᶠ (z : ), (divisor f (Metric.closedBall 0 R)) z All goals completed! 🐙
#11proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Perron-Frobenius for irreducible nonnegative matrices
irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius

Verso theorem preview

theorem declaration uses `sorry`irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius {n : Type*} [Fintype n] [DecidableEq n] [Nonempty n] (A : Matrix n n ) (hA : A.IsIrreducible) : v : n , Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v ( i, 0 < v i) := n:Type u_1inst✝²:Fintype ninst✝¹:DecidableEq ninst✝:Nonempty nA:Matrix n n hA:A.IsIrreducible v, Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v (i : n), 0 < v i All goals completed! 🐙
#12proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Oppenheim's inequality for Hadamard products
oppenheim_inequality

Verso theorem preview

theorem declaration uses `sorry`oppenheim_inequality {n : Type*} [Fintype n] [DecidableEq n] {A B : Matrix n n } (hA : A.PosSemidef) (hB : B.PosSemidef) : A.det * i, B i i (A B).det := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n B:Matrix n n hA:A.PosSemidefhB:B.PosSemidefA.det * i, B i i (A B).det All goals completed! 🐙
#13proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI, with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#14proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#15proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#16proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI, with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#17proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI, with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#18proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#19proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#20proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#21proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic), with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#22proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#23proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI, with orchestration and submission by Lorenzo Luccioli. No human review or supervision of the proofs was performed; correctness was checked only through the benchmark comparator.

Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#26proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#27proof
How produced

Solved by the Aristotle automated theorem prover (Harmonic) via the `aristotle` CLI v1.0.1, with submission orchestration by Kim Morrison. The proof was generated against Aristotle's default Lean v4.28.0 / Mathlib v4.28.0 target; submitted here against the benchmark's pinned Lean v4.30.0-rc2 + pinned Mathlib commit. Comparator's verdict applies — proofs that exploit features added to Mathlib after v4.28.0 will compile; those that rely on tactic behaviour that changed are at the mercy of forward compatibility.

Test problems: def_hole_example, instance_hole_example, list_append_singleton_length, ci_regenerate_main_check, two_plus_two (5 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 20, 2026
LorenzoLuccioli19sqrt-of-212kim-em10parabamoghv1
4Antigravity (Multi-Model Ensemble: Gemini 3.1 Pro, Gemini 3 Flash, Claude 4.6 Sonnet/Opus)21 solved
Bing's house with two rooms is contractible
contractibleSpace_houseWithTwoRooms

Verso theorem preview

theorem declaration uses `sorry`contractibleSpace_houseWithTwoRooms : ContractibleSpace LeanEval.Topology.HouseWithTwoRooms := ContractibleSpace HouseWithTwoRooms All goals completed! 🐙
#1proof
How produced

POC of how a moderately advanced harness / scaffolding can deliver: antigravity, SKILLS.md / AGENTS.md , MCP server. The human in the loop is not a mathematician, nor a software engineer, just someone curious and armed with patience, and acting as a babysitter: with simple encouragements like "remember, if we dont have the needed bricks, we build them and lay them search online for guidance if needed step by step, brick by brick, we are progressing we have time, you are doing great, try to address 1 thing at a time think using sequential thinking tool as needed, take your time and proceed with care no shortcuts, no cheating, we have time the sky is the limit, this is not an open problem, you got this ! " AI did all the thinking. No golfing done. This 7,000+ line proof was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE (a VS Code fork). Due to the massive scale of the deformation retraction, the solution was driven by cycling through the entire suite of available frontier models as quota constraints required. The formal verification relied on a specialized scaffolding pipeline: Iterative Prompt Engineering: The task was initialized using structured prompts ([contractibleSpace_houseWithTwoRooms.md](https://github.com/user-attachments/files/27707778/contractibleSpace_houseWithTwoRooms.md) that enforce Mathlib style guides (e.g., "Rely on existing Mathlib structural lemmas" and "Abstract into lemmas parameterized by characteristics"). Failure Feedback Loop: When intermediate attempts failed (e.g., due to type class synthesis errors or unsolved goals), the raw lake build trace logs and compiler outputs were automatically captured and injected back into the prompt context. This allowed the models to iteratively diagnose and correct their own errors. Model Context Protocol (MCP): The agents interacted with the Lean 4 compiler in real-time via the lean-lsp MCP server, gaining high-fidelity "Language Server to Agent" access: Proof State Tracking (lean_goal): Real-time extraction of tactic states to track the 24 nested sub-cubes of the retraction. Diagnostics (lean_diagnostic_messages): Immediate compiler feedback on type mismatches and syntax errors to keep the massive 7,000-line construction mathematically sound. Structural Synthesis: The proof was built constructively by the ensemble over multiple sessions. The agents defined the 24 topological spaces (C_1 through C_24), constructed explicit piecewise continuous projections (proj_1 through proj_24), and systematically eliminated sorry placeholders until the full deformation retraction onto the point was rigorously verified by the Lean compiler.

von Neumann double commutant theorem
vonNeumann_doubleCommutant_tfae

Verso theorem preview

theorem declaration uses `sorry`vonNeumann_doubleCommutant_tfae {H : Type*} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (S : StarSubalgebra (H →L[] H)) : List.TFAE [ Set.centralizer (Set.centralizer (S : Set (H →L[] H))) = S , IsClosed (ContinuousLinearMap.toWOT (RingHom.id ) H H '' (S : Set (H →L[] H))) , IsClosed (ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H '' (S : Set (H →L[] H))) ] := H:Type u_1inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace Hinst✝:CompleteSpace HS:StarSubalgebra (H →L[] H)[(↑S).centralizer.centralizer = S, IsClosed ((ContinuousLinearMap.toWOT (RingHom.id ) H H) '' S), IsClosed ((ContinuousLinearMap.toPointwiseConvergenceCLM (RingHom.id ) H H) '' S)].TFAE All goals completed! 🐙
#2proof
Existence of a non-isotopic pair of oriented two-component links
exists_nonisotopic_link

Verso theorem preview

theorem declaration uses `sorry`exists_nonisotopic_link : L₁ L₂ : LeanEval.KnotTheory.TwoLink, ¬ L₁.Isotopic L₂ := L₁ L₂, ¬L₁.Isotopic L₂ All goals completed! 🐙
#3proof
Complementary polynomial on the unit circle
exists_complementary_polynomial_on_unit_circle

Verso theorem preview

theorem declaration uses `sorry`exists_complementary_polynomial_on_unit_circle (P : [X]) (hP : z : Circle, P.eval (z : ) 1) : Q : [X], Q.natDegree P.natDegree z : Circle, P.eval (z : ) ^ 2 + Q.eval (z : ) ^ 2 = 1 := P:[X]hP: (z : Circle), eval (↑z) P 1 Q, Q.natDegree P.natDegree (z : Circle), eval (↑z) P ^ 2 + eval (↑z) Q ^ 2 = 1 All goals completed! 🐙
#4proof
Gaussian heat kernel solves the 1D heat equation
heat_kernel_solves_heat_equation

Verso theorem preview

theorem declaration uses `sorry`heat_kernel_solves_heat_equation (f : ) (hf_cont : Continuous f) (hf_bdd : M : , x, |f x| M) : -- The PDE on (0, ∞) × ℝ. ( t : , 0 < t x : , ux : , uxx : , ( y : , HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) -- Initial condition recovered as a one-sided limit at t = 0. ( x : , Filter.Tendsto (fun t : => heatSolution f t x) (nhdsWithin (0 : ) (Set.Ioi 0)) (nhds (f x))) := f: hf_cont:Continuous fhf_bdd: M, (x : ), |f x| M(∀ (t : ), 0 < t (x : ), ux uxx, (∀ (y : ), HasDerivAt (fun z => heatSolution f t z) (ux y) y) HasDerivAt ux uxx x HasDerivAt (fun s => heatSolution f s x) uxx t) (x : ), Filter.Tendsto (fun t => heatSolution f t x) (nhdsWithin 0 (Set.Ioi 0)) (nhds (f x)) All goals completed! 🐙
#5proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Linear ODE with negative-real-part eigenvalues is asymptotically stable
linear_ode_asymptotic_stability

Verso theorem preview

theorem declaration uses `sorry`linear_ode_asymptotic_stability (n : ) (A : Matrix (Fin n) (Fin n) ) (hA : μ : , Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0) (x : (Fin n )) (hx : t : , 0 < t HasDerivAt x (A.mulVec (x t)) t) : Filter.Tendsto (fun t : => x t) Filter.atTop (nhds 0) := n:A:Matrix (Fin n) (Fin n) hA: (μ : ), Module.End.HasEigenvalue (Matrix.toLin' (A.map (algebraMap ))) μ μ.re < 0x: Fin n hx: (t : ), 0 < t HasDerivAt x (A *ᵥ x t) tFilter.Tendsto (fun t => x t) Filter.atTop (nhds 0) All goals completed! 🐙
#6proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Rouche theorem via zero counting
rouche_zero_count_eq

Verso theorem preview

theorem declaration uses `sorry`rouche_zero_count_eq {f g : } {R : } (hR : 0 < R) (hf : MeromorphicNFOn f Set.univ) (hg : AnalyticOn g Set.univ) (hbound : z : , z = R g z < f z) : (∑ᶠ z, ((divisor (f + g) (Metric.closedBall 0 R))) z) = (∑ᶠ z, ((divisor f (Metric.closedBall 0 R))) z) := f: g: R:hR:0 < Rhf:MeromorphicNFOn f Set.univhg:AnalyticOn g Set.univhbound: (z : ), z = R g z < f z∑ᶠ (z : ), (divisor (f + g) (Metric.closedBall 0 R)) z = ∑ᶠ (z : ), (divisor f (Metric.closedBall 0 R)) z All goals completed! 🐙
#7proof
Oppenheim's inequality for Hadamard products
oppenheim_inequality

Verso theorem preview

theorem declaration uses `sorry`oppenheim_inequality {n : Type*} [Fintype n] [DecidableEq n] {A B : Matrix n n } (hA : A.PosSemidef) (hB : B.PosSemidef) : A.det * i, B i i (A B).det := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n B:Matrix n n hA:A.PosSemidefhB:B.PosSemidefA.det * i, B i i (A B).det All goals completed! 🐙
#8proof
Perron-Frobenius for irreducible nonnegative matrices
irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius

Verso theorem preview

theorem declaration uses `sorry`irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius {n : Type*} [Fintype n] [DecidableEq n] [Nonempty n] (A : Matrix n n ) (hA : A.IsIrreducible) : v : n , Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v ( i, 0 < v i) := n:Type u_1inst✝²:Fintype ninst✝¹:DecidableEq ninst✝:Nonempty nA:Matrix n n hA:A.IsIrreducible v, Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v (i : n), 0 < v i All goals completed! 🐙
#9proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#10proof
Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#11proof
How produced

Antigravity orchestrated the solving using [Jules](https://jules.google.com/) and guided the agent during the task. Direct Spectral Decomposition Approach Strategy: Instead of moving to the global virtual character ring, we perform a local eigenvalue decomposition at the element level. 1. We state that the trace of the linear operator $\rho(g)$ is the sum of its eigenvalues (roots of the characteristic polynomial) using the Mathlib lemma: Module.End.trace_eq_sum_roots_charpoly_of_splits 2. Because $g^{\exp(G)} = 1$ in the group, we have $\rho(g)^{\exp(G)} = 1$. 3. By the Spectral Mapping Theorem (spectrum.pow_mem_pow), if $x$ is an eigenvalue of $\rho(g)$, then $x^{\exp(G)}$ must be an eigenvalue of the identity operator, forcing $x^{\exp(G)} = 1$. 4. Thus, every individual eigenvalue is an $\exp(G)$-th root of unity. 5. The range of our cyclotomic embedding $\varphi$ contains the image of the primitive root $\zeta_{\exp(G)}$, which algebraically generates all $\exp(G)$-th roots of unity in $\mathbb{C}$. Hence, each individual eigenvalue lies in $\varphi\text{.range}$. 6. Since $\varphi\text{.range}$ is a subring (subsemiring in Mathlib), it is closed under addition, and the trace (the sum of the eigenvalues) automatically lies in $\varphi\text{.range}$.

Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#12proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#13proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#14proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#15proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#16proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#17proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#18proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#19proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#20proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#23proof
How produced

This solution was produced interactively via an AI-driven pair-programming workflow using Antigravity, Google's agentic IDE. The proof was built structurally by cycling through the available ensemble of frontier models over multiple sessions. The formal verification relied on a specialized scaffolding pipeline: (1) Iterative prompt engineering utilizing Mathlib style constraints. (2) A failure feedback loop that injected raw compiler diagnostics back into the prompt context to diagnose errors. (3) Real-time Model Context Protocol (MCP) integration with the lean-lsp server, providing high-fidelity "Language Server to Agent" access to lean_goal (tactic state tracking) and lean_diagnostic_messages (immediate compiler feedback).

Test problems: def_hole_example, instance_hole_example, ci_regenerate_main_check, list_append_singleton_length, two_plus_two (5 / 5 solved)

First submissionMay 13, 2026
Last submissionMay 22, 2026
daouid26
5Claude Opus 4.7 (1M context)15 solved
Schur-Weyl duality: GL(V) image equals centralizer of S_k image
glAction_range_eq_centralizer_symAction

Verso theorem preview

theorem declaration uses `sorry`glAction_range_eq_centralizer_symAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (glAction R M k)) = Subalgebra.centralizer R (Set.range (symAction R M k)) All goals completed! 🐙
#1
How produced

Claude Opus 4.7 (1M context) with human (Jeroen Zuiddam) direction.

Schur-Weyl duality: S_k image equals centralizer of GL(V) image
symAction_range_eq_centralizer_glAction

Verso theorem preview

theorem declaration uses `sorry`symAction_range_eq_centralizer_glAction {R : Type*} [Field R] {M : Type*} [AddCommGroup M] [Module R M] [FiniteDimensional R M] {k : } [Invertible (k.factorial : R)] : Algebra.adjoin R (Set.range (LeanEval.RepresentationTheory.symAction R M k)) = Subalgebra.centralizer R (Set.range (LeanEval.RepresentationTheory.glAction R M k)) := R:Type u_1inst✝⁴:Field RM:Type u_2inst✝³:AddCommGroup Minst✝²:Module R Minst✝¹:FiniteDimensional R Mk:inst✝:Invertible k.factorialAlgebra.adjoin R (Set.range (symAction R M k)) = Subalgebra.centralizer R (Set.range (glAction R M k)) All goals completed! 🐙
#2
How produced

Claude Opus 4.7 (1M context) with human (Jeroen Zuiddam) direction.

Rouche theorem via zero counting
rouche_zero_count_eq

Verso theorem preview

theorem declaration uses `sorry`rouche_zero_count_eq {f g : } {R : } (hR : 0 < R) (hf : MeromorphicNFOn f Set.univ) (hg : AnalyticOn g Set.univ) (hbound : z : , z = R g z < f z) : (∑ᶠ z, ((divisor (f + g) (Metric.closedBall 0 R))) z) = (∑ᶠ z, ((divisor f (Metric.closedBall 0 R))) z) := f: g: R:hR:0 < Rhf:MeromorphicNFOn f Set.univhg:AnalyticOn g Set.univhbound: (z : ), z = R g z < f z∑ᶠ (z : ), (divisor (f + g) (Metric.closedBall 0 R)) z = ∑ᶠ (z : ), (divisor f (Metric.closedBall 0 R)) z All goals completed! 🐙
#3proof
Oppenheim's inequality for Hadamard products
oppenheim_inequality

Verso theorem preview

theorem declaration uses `sorry`oppenheim_inequality {n : Type*} [Fintype n] [DecidableEq n] {A B : Matrix n n } (hA : A.PosSemidef) (hB : B.PosSemidef) : A.det * i, B i i (A B).det := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n B:Matrix n n hA:A.PosSemidefhB:B.PosSemidefA.det * i, B i i (A B).det All goals completed! 🐙
#4proof
Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#5proof
Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#6proof
Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#7proof
Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#8proof
Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#9proof
Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#10proof
How produced

Just asking to solve the problems in Claude Code.

Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#11proof
Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#12proof
How produced

Just asking to solve the problems in Claude Code.

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#13proof
Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#14proof
How produced

Just asking to solve the problems in Claude Code.

Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#17proof

Test problems: def_hole_example, instance_hole_example, ci_regenerate_main_check, list_append_singleton_length, two_plus_two (5 / 5 solved)

First submissionMay 2, 2026
Last submissionMay 22, 2026
rkirov18jzuiddam2
6GPT-5.512 solved
Perron-Frobenius for irreducible nonnegative matrices
irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius

Verso theorem preview

theorem declaration uses `sorry`irreducible_nonnegative_matrix_has_positive_eigenvector_at_spectralRadius {n : Type*} [Fintype n] [DecidableEq n] [Nonempty n] (A : Matrix n n ) (hA : A.IsIrreducible) : v : n , Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v ( i, 0 < v i) := n:Type u_1inst✝²:Fintype ninst✝¹:DecidableEq ninst✝:Nonempty nA:Matrix n n hA:A.IsIrreducible v, Module.End.HasEigenvector (Matrix.toLin' A) (spectralRadius A).toReal v (i : n), 0 < v i All goals completed! 🐙
#1proof
Minkowski-Caratheodory theorem
mem_convexHull_finset_extremePoints_of_mem_compact_convex

Verso theorem preview

theorem declaration uses `sorry`mem_convexHull_finset_extremePoints_of_mem_compact_convex {E : Type*} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] {s : Set E} {x : E} (hscomp : IsCompact s) (hsconv : Convex s) (hx : x s) : t : Finset E, (t : Set E) s.extremePoints t.card Module.finrank E + 1 x convexHull (t : Set E) := E:Type u_1inst✝²:NormedAddCommGroup Einst✝¹:NormedSpace Einst✝:FiniteDimensional Es:Set Ex:Ehscomp:IsCompact shsconv:Convex shx:x s t, t extremePoints s t.card Module.finrank E + 1 x (convexHull ) t All goals completed! 🐙
#2proof
Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2
dirichlet_eigenvalues_eq_nat_sq

Verso theorem preview

theorem declaration uses `sorry`dirichlet_eigenvalues_eq_nat_sq (lam : ) : ( (y : ) (J : Set ), IsOpen J Set.Icc (0 : ) Real.pi J ( x J, HasDerivAt y (deriv y x) x) ( x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y Real.pi = 0 x Set.Ioo (0 : ) Real.pi, y x 0) n : , 0 < n lam = (n : ) ^ 2 := lam:(∃ y J, IsOpen J Set.Icc 0 π J (∀ x J, HasDerivAt y (deriv y x) x) (∀ x J, HasDerivAt (deriv y) (-(lam * y x)) x) y 0 = 0 y π = 0 x Set.Ioo 0 π, y x 0) n, 0 < n lam = n ^ 2 All goals completed! 🐙
#3proof
Character values of finite groups lie in cyclotomic fields
brauer_character_in_cyclotomic

Verso theorem preview

theorem declaration uses `sorry`brauer_character_in_cyclotomic (G : Type) [Group G] [Fintype G] : φ : CyclotomicField (Monoid.exponent G) →+* , (V : Type) (_ : AddCommGroup V) (_ : Module V) (_ : FiniteDimensional V) (ρ : Representation G V) (g : G), LinearMap.trace V (ρ g) φ.range := G:Typeinst✝¹:Group Ginst✝:Fintype G φ, (V : Type) (x : AddCommGroup V) (x_1 : Module V), FiniteDimensional V (ρ : Representation G V) (g : G), (LinearMap.trace V) (ρ g) φ.range All goals completed! 🐙
#4proof
Polynomial decay rate of y' = -y^3
cubic_decay_asymptotic

Verso theorem preview

theorem declaration uses `sorry`cubic_decay_asymptotic (y : ) (hy_diff : t : , 0 < t HasDerivAt y (-(y t) ^ 3) t) (hy_cont : ContinuousWithinAt y (Set.Ici 0) 0) (hy0 : y 0 = 1) : Tendsto (fun t : => y t * Real.sqrt t) atTop (𝓝 (1 / Real.sqrt 2)) := y: hy_diff: (t : ), 0 < t HasDerivAt y (-y t ^ 3) thy_cont:ContinuousWithinAt y (Set.Ici 0) 0hy0:y 0 = 1Tendsto (fun t => y t * t) atTop (𝓝 (1 / 2)) All goals completed! 🐙
#5proof
Entrywise exponential of a PSD matrix is PSD
posSemidef_map_exp

Verso theorem preview

theorem declaration uses `sorry`posSemidef_map_exp {n : Type*} [Fintype n] [DecidableEq n] {A : Matrix n n } (hA : A.PosSemidef) : (A.map Real.exp).PosSemidef := n:Type u_1inst✝¹:Fintype ninst✝:DecidableEq nA:Matrix n n hA:A.PosSemidef(A.map Real.exp).PosSemidef All goals completed! 🐙
#6proof
Catalan generating function via compositional inversion
substInv_X_sub_X_sq_eq_catalan

Verso theorem preview

theorem declaration uses `sorry`substInv_X_sub_X_sq_eq_catalan (n : ) : haveI : Invertible (coeff 1 ((X : ⟦X⟧) - X ^ 2)) := n:Invertible ((coeff 1) (X - X ^ 2)) n:Invertible 1; All goals completed! 🐙 coeff (n + 1) (substInv ((X : ⟦X⟧) - X ^ 2)) = (Nat.choose (2 * n) n : ) / (n + 1) := n:(coeff (n + 1)) (X - X ^ 2).substInv = ((2 * n).choose n) / (n + 1) All goals completed! 🐙
#7proof
Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#8proof
Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#9proof
pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#10proof
Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#13proof
Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#16proof

Test problems: instance_hole_example, def_hole_example, ci_regenerate_main_check, list_append_singleton_length, two_plus_two (5 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 16, 2026
sqrt-of-214A-M-Berns4kim-em1
7Stealth Model4 solved
Burnside p^a q^b theorem
finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow

Verso theorem preview

theorem declaration uses `sorry`finite_group_isSolvable_of_card_eq_prime_pow_mul_prime_pow {G : Type*} [Group G] [Fintype G] {p q a b : } (hp : Nat.Prime p) (hq : Nat.Prime q) (hpq : p q) (hcard : Fintype.card G = p ^ a * q ^ b) : IsSolvable G := G:Type u_1inst✝¹:Group Ginst✝:Fintype Gp:q:a:b:hp:Nat.Prime phq:Nat.Prime qhpq:p qhcard:Fintype.card G = p ^ a * q ^ bIsSolvable G All goals completed! 🐙
#1
Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#2
How produced

Corrected model label for the comparator-accepted private submission of cyclotomic_integer_house_le_two. Same verified pinned commit as issue #234; the previous submission used the wrong model label.

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#5
Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#6

Test problems: def_hole_example, instance_hole_example, list_append_singleton_length, ci_regenerate_main_check, two_plus_two (5 / 5 solved)

First submissionMay 8, 2026
Last submissionMay 22, 2026
rishistyping9
8GPT-5.5 Codex2 solved
Sturm separation theorem
sturm_separation

Verso theorem preview

theorem declaration uses `sorry`sturm_separation (p q y₁ y₂ : ) (a b : ) (hab : a < b) (J : Set ) (hJ_open : IsOpen J) (hJ_conn : IsPreconnected J) (hJ_sub : Set.Icc a b J) (hp : ContinuousOn p J) (hq : ContinuousOn q J) (hy₁ : x J, HasDerivAt y₁ (deriv y₁ x) x) (hy₁' : x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) x) (hy₂ : x J, HasDerivAt y₂ (deriv y₂ x) x) (hy₂' : x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) x) (hW : x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0) (hza : y₁ a = 0) (hzb : y₁ b = 0) (hne : x Set.Ioo a b, y₁ x 0) : ∃! c, c Set.Ioo a b y₂ c = 0 := p: q: y₁: y₂: a:b:hab:a < bJ:Set hJ_open:IsOpen JhJ_conn:IsPreconnected JhJ_sub:Set.Icc a b Jhp:ContinuousOn p Jhq:ContinuousOn q Jhy₁: x J, HasDerivAt y₁ (deriv y₁ x) xhy₁': x J, HasDerivAt (deriv y₁) (-(p x * deriv y₁ x + q x * y₁ x)) xhy₂: x J, HasDerivAt y₂ (deriv y₂ x) xhy₂': x J, HasDerivAt (deriv y₂) (-(p x * deriv y₂ x + q x * y₂ x)) xhW: x₀ J, y₁ x₀ * deriv y₂ x₀ - y₂ x₀ * deriv y₁ x₀ 0hza:y₁ a = 0hzb:y₁ b = 0hne: x Set.Ioo a b, y₁ x 0∃! c, c Set.Ioo a b y₂ c = 0 All goals completed! 🐙
#1proof
Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#2proof

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 6, 2026
Last submissionMay 7, 2026
A-M-Berns3
9Gemini 3.1 Pro2 solved
Cayley graph connected iff generators generate the group
mulCayley_connected_iff_closure_eq_top

Verso theorem preview

theorem declaration uses `sorry`mulCayley_connected_iff_closure_eq_top {G : Type*} [Group G] (S : Set G) : (SimpleGraph.mulCayley S).Connected Subgroup.closure S = := G:Type u_1inst✝:Group GS:Set G(SimpleGraph.mulCayley S).Connected Subgroup.closure S = All goals completed! 🐙
#1proof
Comparison principle for the Dirichlet BVP
bvp_comparison

Verso theorem preview

theorem declaration uses `sorry`bvp_comparison (J : Set ) (hJ_open : IsOpen J) (hJ_sub : Set.Icc (0 : ) 1 J) (u v : ) (hu : x J, HasDerivAt u (deriv u x) x) (hu' : x J, HasDerivAt (deriv u) (deriv (deriv u) x) x) (hv : x J, HasDerivAt v (deriv v x) x) (hv' : x J, HasDerivAt (deriv v) (deriv (deriv v) x) x) (hineq : x Set.Ioo (0 : ) 1, -deriv (deriv u) x -deriv (deriv v) x) (hu0 : u 0 v 0) (hu1 : u 1 v 1) : x Set.Icc (0 : ) 1, u x v x := J:Set hJ_open:IsOpen JhJ_sub:Set.Icc 0 1 Ju: v: hu: x J, HasDerivAt u (deriv u x) xhu': x J, HasDerivAt (deriv u) (deriv (deriv u) x) xhv: x J, HasDerivAt v (deriv v x) xhv': x J, HasDerivAt (deriv v) (deriv (deriv v) x) xhineq: x Set.Ioo 0 1, -deriv (deriv u) x -deriv (deriv v) xhu0:u 0 v 0hu1:u 1 v 1 x Set.Icc 0 1, u x v x All goals completed! 🐙
#4proof

Test problems: instance_hole_example, def_hole_example, list_append_singleton_length, ci_regenerate_main_check, two_plus_two (5 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 10, 2026
sqrt-of-27kim-em1
10[submission] aegis-of-the-unit-circle-logos2 solved
Real cyclotomic integer with house at most 2
cyclotomic_integer_house_le_two

Verso theorem preview

theorem declaration uses `sorry`cyclotomic_integer_house_le_two {K : Type*} [Field K] [NumberField K] [Algebra K] (n : ) [NeZero n] [IsCyclotomicExtension {n} K] {β : K} (hβ_int : IsIntegral β) (hβ_real : β NumberField.maximalRealSubfield K) : house β 2 house β = 2 m : , 0 < m house β = 2 * Real.cos (Real.pi / m) := K:Type u_1inst✝⁴:Field Kinst✝³:NumberField Kinst✝²:Algebra Kn:inst✝¹:NeZero ninst✝:IsCyclotomicExtension {n} Kβ:Khβ_int:IsIntegral βhβ_real:β maximalRealSubfield Khouse β 2 house β = 2 m, 0 < m house β = 2 * Real.cos (Real.pi / m) All goals completed! 🐙
#1
How produced

Comparator-accepted Lean Eval solution for cyclotomic_integer_house_le_two. Developed and verified in a private repository. Local checks included direct Lean Eval comparator and CI-equivalent evaluate_submission.py.

pi_1 of the circle is Z
pi1_circle_mulEquiv_int

Verso theorem preview

theorem declaration uses `sorry`pi1_circle_mulEquiv_int : Nonempty (HomotopyGroup.Pi 1 Circle (1 : Circle) ≃* Multiplicative ) := Nonempty (HomotopyGroup.Pi 1 Circle 1 ≃* Multiplicative ) All goals completed! 🐙
#2
How produced

Comparator-accepted Lean Eval solution for cyclotomic_integer_house_le_two. Developed and verified in a private repository. Local checks included direct Lean Eval comparator and CI-equivalent evaluate_submission.py.

Test problems: ci_regenerate_main_check, two_plus_two (2 / 5 solved)

First submissionMay 12, 2026
Last submissionMay 12, 2026
rishistyping4
11Claude Opus 4.71 solved
Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#1proof

Test problems: list_append_singleton_length, two_plus_two (2 / 5 solved)

First submissionApr 30, 2026
Last submissionApr 30, 2026
rkirov3kim-em1
12EVO1 solved
Finite Ramsey theorem for graphs
finite_graph_ramsey_theorem

Verso theorem preview

theorem declaration uses `sorry`finite_graph_ramsey_theorem : r s : , 2 r 2 s n : , G : SimpleGraph (Fin n), ¬ G.CliqueFree r ¬ G.CliqueFree s := (r s : ), 2 r 2 s n, (G : SimpleGraph (Fin n)), ¬G.CliqueFree r ¬G.CliqueFree s All goals completed! 🐙
#1proof

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 18, 2026
Last submissionMay 20, 2026
machinelearning20142
13Kimi K2.60 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
14Mistral Large 30 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
15DeepSeek V4 Pro0 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
16Qwen3.6 Max0 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
17Grok 4.30 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
18Claude Sonnet 4.60 solved

Test problems: two_plus_two (1 / 5 solved)

First submissionMay 1, 2026
Last submissionMay 1, 2026
kim-em1
19Leanstral-26030 solved

Test problems: instance_hole_example, def_hole_example, list_append_singleton_length, ci_regenerate_main_check, two_plus_two (5 / 5 solved)

First submissionMay 11, 2026
Last submissionMay 11, 2026
sqrt-of-25
Coverage

Per-problem coverage

Which problems each model has solved. Hidden on narrow screens.

ProblemAleph Prover(logicalintelligence.com)Seed Prover (ByteDance)Aristotle (Harmonic)Antigravity (Multi-Model Ensemble: Gemini 3.1 Pro, Gemini 3 Flash, Claude 4.6 Sonnet/Opus)Claude Opus 4.7 (1M context)GPT-5.5Stealth ModelGPT-5.5 CodexGemini 3.1 Pro[submission] aegis-of-the-unit-circle-logosClaude Opus 4.7EVOKimi K2.6Mistral Large 3DeepSeek V4 ProQwen3.6 MaxGrok 4.3Claude Sonnet 4.6Leanstral-2603
Chudnovsky formula for pi inversemain
pi_1 of the circle is Zmain
Finite Ramsey theorem for graphsmain
Catalan generating function via compositional inversionmain
Lagarias criterion is equivalent to RHmain
Chen theorem for Markoff graphsmain
Cayley graph connected iff generators generate the groupmain
pi_3 of the 2-sphere is Zmain
pi_n of the n-sphere is Zmain
pi_(n+1) of S^n is Z/2 for n at least 3main
Burnside p^a q^b theoremmain
Rouche theorem via zero countingmain
Minkowski-Caratheodory theoremmain
Perron-Frobenius for irreducible nonnegative matricesmain
Complementary polynomial on the unit circlemain
Entrywise exponential of a PSD matrix is PSDmain
Oppenheim's inequality for Hadamard productsmain
von Neumann double commutant theoremmain
Schur-Weyl duality: S_k image equals centralizer of GL(V) imagemain
Schur-Weyl duality: GL(V) image equals centralizer of S_k imagemain
Existence of a 64-dim irreducible g₂-representation with 14 tensor-square isotypic componentsmain
Existence of a 779247-dim irreducible e₈-representation with 40 tensor-square isotypic componentsmain
Cerf's theorem: every self-diffeomorphism of S3 is smoothly isotopic to a linear isometrymain
Smale conjecture (Hatcher) in relative parameterized formmain
Real cyclotomic integer with house at most 2main
Real cyclotomic integer with house in (2, 76/33)main
Gleason's theorem (finite-dimensional)main
Gleason's theorem (separable Hilbert space)main
Jacobian of a compact Riemann surface (Buzzard challenge)main
Jacobian of a smooth proper curve (Merten challenge)main
Existence of a non-isotopic pair of oriented two-component linksmain
Existence of a non-isotopic pair of oriented knotsmain
Existence of a chiral oriented knotmain
Character values of finite groups lie in cyclotomic fieldsmain
Existence of an order-10200960 group with a 22-dim irrep whose tensor square has 4 isotypic componentsmain
Frobenius's theorem: the Frobenius kernel is normalmain
Glauberman's Z* theorem for isolated involutionsmain
Schreier's conjecture: outer automorphism group of a finite simple group is solvablemain
Possible orders of 5-transitive finite permutation groupsmain
Topological classification of surfacesmain
De Branges's theorem (Bieberbach conjecture)main
Polynomial decay rate of y' = -y^3main
Baker-Wüstholz theorem on linear forms in logarithmsmain
Sturm separation theoremmain
Dirichlet eigenvalues of -y'' = lambda y on [0,pi] are n^2main
Linear ODE with negative-real-part eigenvalues is asymptotically stablemain
Comparison principle for the Dirichlet BVPmain
Gaussian heat kernel solves the 1D heat equationmain
Bing's house with two rooms is contractiblemain
Fermat's Last Theoremmain
Radó's theorem on Riemann surfacesmain
Neukirch–Uchida theoremmain
Balanceable k-bounded partitionsmain
A competition programming problem about permuting a permutation to be unimodalmain
Uniformization theorem for Riemann surfacesmain
2 + 2 = 4test
CI regenerate-main checktest
Appending a singleton increases the list lengthtest
def-hole minimal exampletest
instance-hole minimal exampletest

Welcome to lean-eval, a Lean formalization benchmark and public leaderboard.

You can submit new problems for review, and solutions for existing problems. New problems will be carefully reviewed and added to future benchmark releases if they are accepted. Solutions are automatically verified using comparator and added to the public leaderboard.

This benchmark intends to capture hard Lean formalization problems, consisting of mathematical problems that are currently stateable mostly using existing Mathlib definitions, perhaps with a page or so of additional setup. They should be hard, but usually not open problems: in fact, it's preferred if the problem has a known informal solution which is publicly available.

Our hope is that at launch, the problem set will be mostly, but not entirely, out of reach for current publicly available frontier models, or simple orchestration layers built on top of these. So some genuine mathematical subtlety is required!

It's also important to say what this benchmark is not: we are not trying to capture the ability to write readable or reusable code, or to follow best practices in Lean. In particular, the only requirement for a solution to be accepted is that it is correct and passes the comparator tests.