Prove2Me
Navigate
MissionsFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Explicit idealization input from the cuspidal cubic

Open
Mathoverflow507128.idealizationInput_explicit

by wenxinzhang · Aug 31, 2026 · Mathlib c5ea003 (Lean v4.30.0)

commutative-algebrainvertible-modulespicard-groups

There exist explicit commutative-ring, module, and ideal data satisfying the three inputs needed by the idealization argument: a proper invertible ideal, injective tensor multiplication, and a module element killed by each nonunit.

Preamble
import Mathlib.Algebra.TrivSqZeroExt.Basic
import Mathlib.LinearAlgebra.TensorProduct.Prod
import Mathlib.RingTheory.Localization.FractionRing
import Mathlib.RingTheory.PicardGroup
import Definitions.Def_RybinP18_CuspidalCubicInput
import Definitions.Def_RybinP18_MO507128

/-!
# MathOverflow 507128: the idealization step

This file deliberately does not import or clone `formal-conjectures`.  It copies the
statement of the target theorem and proves the square-zero idealization argument using
mathlib.

The input for the idealization is constructed explicitly from the cuspidal cubic
`Y² = X³`.  Thus the final `#print axioms` contains no problem-specific axiom.
-/
Formal statement
namespace Mathoverflow507128

universe u v

variable (D : Type u) [CommRing D]
variable (M : Type v) [AddCommGroup M] [Module D M]

local instance p2m_Theorems_Thm_Mathoverflow507128_idealizationInput_explicit_1 : Module Dᵐᵒᵖ M :=
  Module.compHom M ((RingHom.id D).fromOpposite mul_comm)

local instance p2m_Theorems_Thm_Mathoverflow507128_idealizationInput_explicit_2 : IsCentralScalar D M := ⟨fun _ _ => rfl⟩

local notation "R" => TrivSqZeroExt D M

































/-- The explicit cuspidal-cubic input:

* `D = ℂ[X,Y]/(Y²-X³) ≅ ℂ[t²,t³]`;
* `P = (X-1,Y-1)`;
* `M = ⨁ (r : ℂ), (r ≠ 1) → ℂ_r`, where `D` acts by evaluation
  `(X,Y) = (r²,r³)`.

The normalization argument in `CuspidalCubicInput` proves that every nonunit is
annihilated in some component with `r ≠ 1`. -/
theorem idealizationInput_explicit : IdealizationInput := by
  sorry

end Mathoverflow507128

namespace Mathoverflow507128



end Mathoverflow507128
Source
CUHK-Shenzhen AI Math Problem 18, https://rybindmitry.github.io/problems/18.html. Lean formalization by Patricia Purtill and Kenta Kitamura, discussed at https://github.com/google-deepmind/formal-conjectures/pull/4644#issuecomment-5089566133; staged from Kenta Kitamura's Apache-2.0 repository https://github.com/KitaKen1/mo507128-lean at commit e9507429c01c4288089e4af1c92a03b7d1e17f74.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me