Estado a agosto de 2026
Cuatro capas, con lógicas distintas y responsabilidades separadas:
| Capa | Contenido | Lógica |
|---|---|---|
| 0. Kernel | Comprobador de tipos, ~10 kLOC de C++ | CIC (teoría de tipos dependientes) |
| 1. Elaborador + mathlib | Inferencia de implícitos, clases de tipos, unificación, coerciones; biblioteca | CIC + 3 axiomas clásicos |
| 2. Automatización simbólica | Tácticas de decisión, hammers | FOL multi-sorted, SMT, superposición HOL |
| 3. Neuronal | LLM que emite tácticas o pruebas completas | Ninguna; el kernel es el verificador |
El invariante del sistema es que solo la capa 0 tiene autoridad. Las capas 1–3 pueden estar rotas sin comprometer la corrección: si el elaborador infiere mal, el hammer traduce mal o el LLM alucina, el término producido no tipa y se rechaza. Esto es lo que hace de Lean un entorno de RL con recompensa binaria fiable.
Lean 4 implementa el Cálculo de Construcciones Inductivas con extensiones. Componentes:
Prop := Sort 0
Type u := Sort (u+1)
Sort u : Sort (u+1)
α : Type 0 no implica
α : Type 1. Hay que usar ULift para subir de
universo, con el coste de tener que transportar todo
explícitamente.{u v} y se instancian
en cada uso. El elaborador resuelve restricciones de universo mediante
un solver de desigualdades sobre expresiones
max/imax.Type : Type permite derivar False.Prop impredicativaProp es impredicativa:
∀ (α : Type u), P α : Prop sigue estando en
Prop, sin importar u. Esto es lo que permite
cuantificar sobre todos los grupos dentro de un enunciado que sigue
siendo una proposición.
Regla de formación (imax):
Γ ⊢ α : Sort u Γ, x : α ⊢ β : Sort v
----------------------------------------
Γ ⊢ (x : α) → β : Sort (imax u v)
donde imax u 0 = 0. Ese caso especial es la
impredicatividad de Prop.
Si h₁ h₂ : p con p : Prop, entonces
h₁ ≡ h₂ definicionalmente (no solo
proposicionalmente). El kernel las identifica sin prueba.
Consecuencias:
Prop, a diferencia de
Coq/Rocq donde esto es un uso central).{x : α // p x} tienen igualdad determinada
solo por la componente de valor: Subtype.ext.Familias inductivas con eliminadores generados automáticamente. El
kernel genera, para cada declaración inductive, los
constructores, el recursor T.rec y las reglas de
reducción-ι. Ejemplo:
inductive Vec (α : Type u) : Nat → Type u where
| nil : Vec α 0
| cons : α → Vec α n → Vec α (n+1)
El chequeo de positividad estricta rechaza definiciones como
inductive Bad where | mk : (Bad → Bad) → Bad, que darían
inconsistencia.
Eliminación de subsingletons: normalmente un
inductivo en Prop solo puede eliminarse hacia
Prop. Excepción: si el inductivo tiene a lo sumo un
constructor y todos sus argumentos son proposiciones o aparecen en la
conclusión, se permite eliminar hacia Type. Esto es lo que
hace usable Acc (accesibilidad) para definir recursión bien
fundada.
Quot es primitivo del kernel, no derivado:
Quot : {α : Sort u} → (α → α → Prop) → Sort u
Quot.mk : (r : α → α → Prop) → α → Quot r
Quot.lift: (f : α → β) → (∀ a b, r a b → f a = f b) → Quot r → β
Quot.ind : (∀ a, β (Quot.mk r a)) → ∀ q, β q
con la regla de cómputo
Quot.lift f h (Quot.mk r a) ≡ f a. El axioma
Quot.sound : r a b → Quot.mk r a = Quot.mk r b es lo único
no computacional. Tener cocientes en el kernel evita el setoid
hell que padece Coq y es una de las razones prácticas de la
productividad de mathlib.
La relación ≡ que el kernel decide incluye:
| Regla | Contenido |
|---|---|
| β | (λx. t) s ≡ t[s/x] |
| δ | despliegue de definiciones |
| ζ | reducción de let |
| ι | reducción de recursores sobre constructores |
| η | f ≡ λx. f x |
| proof irrelevance | h₁ ≡ h₂ para h₁ h₂ : p,
p : Prop |
| η para estructuras | s ≡ ⟨s.1, s.2⟩ |
La distinción definicional (≡) vs. proposicional
(=) es la fuente de la mayor parte de las
dificultades prácticas. Lo que es definicionalmente igual se sustituye
gratis; lo que es solo proposicionalmente igual exige rw,
subst o transporte explícito, y en tipos dependientes el
transporte cambia el tipo de los términos.
El CIC puro es constructivo. Mathlib no lo es. Añade:
axiom propext : ∀ {a b : Prop}, (a ↔ b) → a = b
axiom Quot.sound : ∀ {α} {r : α → α → Prop} {a b}, r a b → Quot.mk r a = Quot.mk r b
axiom Classical.choice : ∀ {α : Sort u}, Nonempty α → α
Classical.choice + propext ⟹ tercio
excluso, por el argumento de Diaconescu (mathlib lo demuestra en
Classical.em). El resultado neto: lógica clásica de
orden superior sobre teoría de tipos dependientes.
Auditoría: #print axioms nombre_del_teorema lista de qué
axiomas depende un resultado. Un teorema que solo depende de
[] es constructivo; los que dependen de
Classical.choice no lo son.
Efecto colateral práctico: Classical.propDecidable da
una instancia Decidable p para toda p, pero
no computable. Definiciones que la usan se marcan
noncomputable y no se pueden ejecutar. De ahí la tensión
constante en mathlib entre generalidad y computabilidad.
Resultado principal (Carneiro, The Type Theory of Lean, MSc, CMU 2019; formalizado parcialmente en Lean4Lean):
Lean con
nuniversos es consistente si lo es ZFC +ninaccesibles. Más precisamente: Lean es equiconsistente con ZFC + {existen n inaccesibles | n < ω}.
Construcción del modelo en ZFC: - ⟦Prop⟧ := {∅, {•}} —
forzado por la irrelevancia de pruebas y la elección. -
⟦∀ x : α, β⟧ := funciones f con dominio
⟦α⟧ tales que f(x) ∈ ⟦β⟧ₓ. -
⟦Type n⟧ := V_κₙ con κₙ el n-ésimo inaccesible
(universos de Grothendieck; necesarios por los tipos inductivos).
Corolario: Lean prueba Con(ZFC), luego por el segundo
teorema de incompletitud ZFC ⊬ Con(Lean).
El juicio de tipado teórico es casi decidible pero no del
todo. La causa es una interacción entre eliminación de
subsingletons (para Acc) e irrelevancia de
pruebas: decidir ≡ puede requerir decidir
habitación de proposiciones.
Lean lo resuelve infraaproximando: implementa
relaciones Γ ⊢ e ⇔ e' y Γ ⊩ e : α tales
que
Γ ⊩ e : α ⟹ Γ ⊢ e : α
Γ ⊢ e ⇔ e' ⟹ Γ ⊢ e ≡ e'
Es decir, el algoritmo implementado es estrictamente más restrictivo que la relación teórica: rechaza algunos términos bien tipados, nunca acepta uno mal tipado. Sound pero incompleto respecto a su propia especificación.
| Componente | Riesgo |
|---|---|
| Kernel C++ | Lean 3: sin bugs de corrección reportados en toda su historia. Lean 4: se introdujeron bugs de corrección al reescribir el kernel con aritmética de precisión arbitraria, inductivos anidados y proyecciones primitivas |
| Verificadores externos | Existían para Lean 3; se perdieron en la migración a Lean 4 al rediseñarse la metaprogramación. Lean4Lean los reintroduce parcialmente |
| Elaborador | Fuera del TCB: sus errores producen términos que el kernel rechaza |
| Axiomas | propext, Quot.sound,
Classical.choice, más sorryAx si hay
sorry |
Lean4Lean (Carneiro, arXiv:2403.14064) reimplementa el
typechecker en Lean y avanza en verificarlo respecto a una
especificación formal de la metateoría. Se señala explícitamente que
probar la terminación del typechecker de Lean dentro de Lean es
improbable.
| Sistema | Lógica | Igualdad | Automatización |
|---|---|---|---|
| Lean 4 | CIC + AC + LEM, cocientes primitivos | intensional, UIP por defecto | media (creciendo) |
| Rocq/Coq | CIC, constructivo por defecto | intensional, UIP opcional | media (hammer) |
| Isabelle/HOL | HOL polimórfico (tipos simples) | extensional | alta (Sledgehammer) |
| Mizar | ZF Tarski–Grothendieck | conjuntista | baja |
| Agda / Cubical | MLTT / HoTT | univalencia, igualdad estructurada | baja |
| Metamath | esquemas de 1er orden | — | baja |
Trade-off central: HOL es mucho más automatizable porque es más pobre (no hay dependencia, la traducción a FOL es casi directa), pero expresar estructuras algebraicas parametrizadas y jerarquías de tipos es incómodo. DTT es lo contrario.
Técnicamente es donde está el trabajo real. El kernel es simple; el elaborador y las convenciones de biblioteca son lo que hace o rompe un proyecto.
Mathlib codifica las estructuras algebraicas como clases de tipos con
herencia (extends), resueltas por búsqueda de instancias en
el elaborador. Esquema:
Mul → Semigroup → Monoid → Group
Add → AddSemigroup → AddMonoid → AddGroup
↘
Ring → CommRing → Field
Puntos técnicos:
bundled vs
unbundled: mathlib usa clases unbundled
sobre el tipo portador ([Group G], no
G : GroupStructure) para álgebra, y objetos
bundled (MonoidHom, Submodule) para
morfismos y subobjetos. Los morfismos van bundled porque hay que hablar
de ellos como elementos de un tipo.Monoid/AddMonoid son jerarquías paralelas
generadas con el atributo @[to_additive], que traduce
automáticamente teoremas multiplicativos a aditivos.Si C hereda de A y B, ambas de
Z, la instancia Z obtenida por las dos rutas
debe ser definicionalmente igual, no solo
proposicionalmente. Si no lo es, dos términos que “deberían” ser el
mismo no unifican y el elaborador falla con errores incomprensibles.
Soluciones estándar en mathlib, todas visibles en el código:
Monoid incluye un campo npow : ℕ → M → M con
default npowRec, y axiomas npow_zero,
npow_succ. Sin ese campo, ℕ-potencia derivada
de dos rutas distintas no sería defeq. Lo mismo con nsmul,
zsmul, zpow.SubNegMonoid incluye sub
con default a + (-b), para que la resta de ℝ
no dé un diamante con la resta canónica.MetricSpace incluye su UniformSpace más un
campo de prueba uniformity_dist que fuerza que la
uniformidad coincida con la generada por la distancia. Sin esto,
ℝ como espacio métrico y ℝ como espacio
uniforme serían estructuras distintas.Prop. Las propiedades sin
datos (IsDomain, NoZeroDivisors,
CharZero) se declaran como clases valuadas en
Prop, y por irrelevancia de pruebas nunca producen
diamantes.Mathlib no usa ε-δ como noción primitiva de límite. Usa filtros:
def Filter.Tendsto (f : α → β) (l₁ : Filter α) (l₂ : Filter β) : Prop :=
l₁.map f ≤ l₂
Con esto, una sola definición cubre límites de sucesiones
(atTop), límites en un punto (𝓝 x), límites
laterales (𝓝[>] x), límites a lo largo de un conjunto
(𝓝[s] x), límites en infinito y convergencia casi por todas
partes. La continuidad es:
def ContinuousAt (f : α → β) (x : α) : Prop := Tendsto f (𝓝 x) (𝓝 (f x))
Y Filter.Eventually (∀ᶠ x in l, p x)
unifica “para n suficientemente grande”, “en un entorno de x”, “casi por
todas partes”. El álgebra de filtros es un retículo completo, lo que
permite manipular condiciones límite algebraicamente en lugar de manejar
cuantificadores anidados. Es la decisión de diseño más consecuente de
mathlib para análisis.
Derivada, vía o-pequeña sobre filtros:
HasFDerivAtFilter f f' x L ↔
(fun x' => f x' - f x - f' (x' - x)) =o[L] (fun x' => x' - x)
La integral de Lebesgue no negativa (lintegral) toma
valores en ℝ≥0∞ = ENNReal, un retículo completo donde
∞ es un elemento legítimo y la aritmética es total
(∞ - ∞ = 0, 0 * ∞ = 0). Razones técnicas:
convergencia monótona y Fatou se enuncian sin hipótesis de finitud, y
los supremos existen siempre.
El coste es que hay tres tipos de reales no
intercambiables: ℝ, ℝ≥0,
ℝ≥0∞. Un x : ℝ≥0 no es un x : ℝ.
Hay coerciones (↑), pero cada frontera exige lemas de
push_cast. El proyecto Carleson documenta esto como una
fuente permanente de fricción de diseño: decidir en cuál de los tres
viven las constantes, los conjuntos y los integrandos.
~2,1 millones de líneas, >170.000 teoremas, >80.000
definiciones. Tiempo de compilación completa del orden de horas en
máquinas grandes; el CI usa caché de .olean compilados.
Cualquier refactor de la jerarquía de clases toca miles de archivos.
| Táctica | Alcance | Método |
|---|---|---|
decide |
proposiciones con instancia Decidable |
evaluación en el kernel |
norm_num |
aritmética numérica cerrada, extensible | normalización + extensiones |
ring |
identidades en anillos conmutativos | forma normal de polinomios |
linarith |
aritmética lineal ordenada sobre campos ordenados | Fourier–Motzkin / certificados de Positivstellensatz de grado 1 |
polyrith |
identidades polinómicas no lineales | bases de Gröbner (llamada externa a Sage) |
omega |
aritmética lineal entera | Presburger, algoritmo Omega |
positivity |
0 < e, 0 ≤ e, e ≠ 0 |
recursión sintáctica sobre la estructura de e |
gcongr |
desigualdades por congruencia | reescritura monótona guiada |
fun_prop |
continuidad, medibilidad, diferenciabilidad | búsqueda sobre reglas de composición |
aesop |
objetivos generales | búsqueda best-first sobre conjuntos de reglas configurables |
simp |
reescritura | conjunto de lemas @[simp], confluencia no
garantizada |
decide es peculiar: reduce la proposición a
Bool y la evalúa en el kernel. Funciona para objetivos
finitos pequeños; explota en cuanto la evaluación es costosa, porque el
kernel no está optimizado para computar (aunque Lean 4 añadió aritmética
GMP nativa para Nat, precisamente por esto — y ahí se
introdujeron bugs).
Arquitectura estándar en tres fases:
selección de premisas → traducción a lógica del ATP → reconstrucción de la prueba
Selección de premisas. De ~170.000 teoremas hay que
elegir decenas. Métodos: k-NN sobre características sintácticas, naive
Bayes, o embeddings neuronales (LeanExplore usa híbrido
semántico + léxico + PageRank sobre el grafo de dependencias).
Traducción (Lean-auto). El paso difícil. Pipeline:
La corrección de la traducción está garantizada; la completitud no. Los ATP no razonan con tipos dependientes: todo lo que dependa esencialmente de ellos se pierde.
Reconstrucción. No se acepta la palabra del ATP.
Lean-auto usa un checker verificado implementado en Lean;
lean-smt trabaja en reconstruir pruebas SMT. La prueba
reconstruida suele ser demasiado grande para leerse, por lo que se
conserva la invocación de la táctica, no el término.
Alternativas sin traducción:
Referencia de rendimiento: el hammer de Coq resuelve ~40,8% de los teoremas de la biblioteca estándar en modo push-button con ~40 s en 8 CPU, en escenario de bootstrapping. Isabelle/Sledgehammer está por encima gracias a HOL. Lean está por debajo de ambos, y es su debilidad más citada.
Álgebra: jerarquía completa; teoría de Galois; álgebra homológica (complejos, funtores derivados, sucesiones espectrales parciales); álgebras de Lie; álgebras de Hopf; teoría de representaciones básica; módulos sobre anillos noetherianos, DIP, DFU.
Teoría de categorías (1-dimensional): límites y colímites, adjunciones, categorías abelianas, monoidales, haces, topologías de Grothendieck, categorías condensadas.
Topología: espacios uniformes, filtros, compactificaciones, grupos topológicos, teoría del grado parcialmente.
Análisis: cálculo de Fréchet en espacios de Banach,
teoría de la medida e integración (Bochner y Lebesgue), espacios
Lᵖ, análisis de Fourier, análisis complejo (Cauchy,
residuos, funciones holomorfas), análisis funcional (Hahn–Banach,
Banach–Steinhaus, teoría espectral básica, C*-álgebras en
desarrollo).
Teoría de números: cuerpos de números, anillos de enteros, ideales fraccionarios, adeles e ideles, curvas elípticas (modelos de Weierstrass, ley de grupo), formas modulares (parcial), teorema de los números primos.
Geometría algebraica: espacios anillados localmente,
esquemas, Proj (incluida la versión multigraduada),
morfismos, propiedades de esquemas.
Combinatoria, probabilidad, teoría de conjuntos, computabilidad: ordinales y cardinales, forcing, determinación de Borel, máquinas de Turing, complejidad básica, movimiento browniano y cálculo estocástico en desarrollo.
| Área | Estado | Causa técnica |
|---|---|---|
| Geometría diferencial | Parcial: variedades con modelo, fibrados vectoriales suaves, corchete de Lie, grupos de Lie, métricas de fibrado, curvas integrales y flujos locales. Faltan: conexiones y curvatura generales, teoría de Hodge, teoría del índice, geometría simpléctica, bordismos (en curso) | Coste acumulativo; además la definición de variedad con
ModelWithCorners es pesada de manipular |
| EDP | Casi vacío. Islas: De Giorgi–Nash–Moser interior (2026), Vlasov de campo medio (2026) | Falta teoría de Sobolev madura; las pruebas son cadenas largas de estimaciones sin estructura algebraica que comprimir |
| Análisis numérico | Inexistente | Nadie lo ha hecho; combina análisis real con aritmética de punto flotante |
| ∞-categorías, categorías derivadas generales, stacks | Inexistente | Estructural: coherencia infinita. La igualdad estricta de Lean no modela homotopía; las internal language conjectures siguen abiertas |
| Formas automorfas, representaciones de Galois, variedades de Shimura | En construcción dentro de FLT | Vocabulario que simplemente no existía; el proyecto FLT lo está creando |
| Puntuales | Ausentes: forma normal de Jordan, Burnside para álgebras de matrices, Perron–Frobenius para aplicaciones completamente positivas, punto fijo de Brouwer usable | Nada estructural. Contingencia histórica de qué le interesó a quién |
El último caso es el más instructivo sobre la naturaleza de la biblioteca: la cobertura de mathlib es irregular por razones sociológicas, no lógicas. Un trabajo de 2026 sobre redes tensoriales tuvo que sustituir Jordan por descomposición en espacios propios generalizados más una descomposición invertible/nilpotente probada a mano.
“mathlib cubre franjas amplias pero incompletas del paisaje matemático; mientras algunos dominios, como el álgebra o la teoría de categorías, están bien representados, quedan grandes lagunas en otros, como la geometría diferencial o las EDP. Como resultado, la mayor parte de la investigación matemática actual no puede formalizarse en Lean sin un trabajo preparatorio prohibitivamente costoso.” — Formalizing Mathematics at Scale, arXiv:2605.29955
| Proyecto | Resultado | Duración / escala | Aportación técnica |
|---|---|---|---|
| Liquid Tensor Experiment | Teorema principal de espacios vectoriales líquidos (Clausen–Scholze) | dic. 2020 – jul. 2022 | Construcción de matemática condensada; álgebra homológica a gran escala |
| PFR | Conjetura polinómica de Freiman–Ruzsa de Marton | ~3 semanas | Estrenó el flujo leanblueprint; entropía de Shannon,
distancia de Ruzsa |
| Carleson | Convergencia p.c.t.p. de series de Fourier, generalizada a espacios métricos doblantes | jun. 2024 – jul. 2025, 14 autores + 14 colaboradores | Gestión de hipótesis permanentes con outParam; análisis
armónico |
| Sphere eversion | Principio h para relaciones diferenciales abiertas y amplias | Massot et al. | Fibrados de jets, integración convexa; topología geométrica |
| PrimeNumberTheoremAnd | TNP versión fuerte | Kontorovich–Tao; completado con asistencia del agente Gauss (Math Inc., 2025) | Análisis complejo, métodos de Wiener–Ikehara |
| Flypitch | Independencia de CH | Han & van Doorn | Forcing, modelos booleanos |
| Con(NF) | Consistencia de New Foundations | Wilshaw | |
| Equational Theories | Grafo de 22M implicaciones entre 4.694 leyes de magmas | Tao, 2024– | ATP clásicos + crowdsourcing; SAT solvers para contraejemplos finitos |
| FLT | Último teorema de Fermat vía Khare–Wintenberger/Kisin | 2024–2029, EPSRC EP/Y022904/1 | Construcción del aparato completo de teoría de números moderna |
Carleson. El teorema generalizado depende de siete
parámetros (a, q, K, σ₁, σ₂, F, G). Se agrupan en una clase
[ProofData a q K σ₁ σ₂ F G] donde todos son
outParam asociados unívocamente al espacio X,
de modo que nunca hay que darlos explícitamente. Los 30 folios de la
prueba informal se descompusieron en un blueprint de 11 secciones:
enunciado, 6 proposiciones auxiliares, la reducción, y las pruebas de
cada proposición. Diseñado para que un no experto pueda formalizar un
lema aislado.
Equational Theories. Detalle importante: no se formalizan los 22 millones de implicaciones. El tiempo de compilación sería prohibitivo. Se formaliza un conjunto de generadores; el resto se deduce por transitividad y dualidad fuera de Lean. Está previsto refactorizar para obtener un teorema end-to-end, pero no es prioritario.
FLT. La estrategia no es formalizar Wiles/Taylor–Wiles sino una prueba moderna, precisamente porque el objetivo declarado incluye dotar a mathlib de: formas y representaciones automorfas, representaciones de Galois, teoremas de modularity lifting, aritmética de variedades, teoría de cuerpos de clases, teoremas de dualidad aritmética y variedades de Shimura. La formalización del vocabulario es el grueso del trabajo.
Step-level. El modelo propone una táctica; Lean devuelve el nuevo estado del objetivo; búsqueda en árbol (MCTS o best-first) sobre el espacio de estados. Ventaja: retroalimentación densa. Coste: una llamada al compilador por paso. Sistemas: AlphaProof, BFS-Prover.
Whole-proof. El modelo emite la prueba entera; se compila; el mensaje de error del compilador realimenta una nueva iteración. Ventaja: menos llamadas, aprovecha el chain-of-thought largo. Coste: señal más escasa. Sistemas: DeepSeek-Prover-V2, Kimina-Prover, Goedel-Prover-V2.
Agéntico. Bucles multi-turno con herramientas.
AlphaProof Nexus (2026): subagentes prover basados en LLM
que refinan sketches de prueba con sorry, pueden
invocar AlphaProof como herramienta sobre subobjetivos, y un validador
comprueba que el enunciado no se haya alterado y que la prueba compile
sin sorry. Población de sketches con selección P-UCB, marco
evolutivo opcional.
Entrenamiento. El patrón dominante es expert iteration: generar intentos, quedarse con los verificados por Lean, reentrenar. AlphaProof añade test-time RL: ante un problema difícil genera millones de variantes del propio problema y entrena sobre ellas en tiempo de inferencia. DeepSeek-Prover-V2 usa currículo por subobjetivos y arranque en frío con datos sintéticos.
Infraestructura. El cuello de botella es la
verificación. Kimina Lean Server proporciona verificación
REST paralelizada y extracción de tácticas para pipelines de RL a gran
escala.
| Benchmark | Nivel | Mejor resultado |
|---|---|---|
| miniF2F-test | olimpiada | 88,9% (DeepSeek-Prover-V2-671B) — saturado |
| PutnamBench | licenciatura | 87,9% (Seed-Prover 1.5). AlphaProof: 56% con ~500 días-TPU por problema |
| ProverBench / AIME 24-25 | competición | 6/15 (DeepSeek-Prover-V2) |
| FATE-H | álgebra de posgrado | 80% (Seed-Prover 1.5); 71% informal (DeepSeek-R1) |
| FATE-X | exámenes de calificación de doctorado | 33% |
| FrontierMath Tier 4 | investigación | 18,75% (Gemini 3 Pro); estimaciones optimistas hasta 40% |
IMO 2024: AlphaProof resolvió 3 de 5 problemas formalizables, puntuación equivalente a medalla de plata. IMO 2025: Aristotle y Seed-Prover alcanzaron equivalente de oro.
Coste. El “impuesto formal” es real: DeepSeek-Math-V2 alcanzó puntuaciones casi perfectas en Putnam 2024 en lenguaje natural, mientras AlphaProof resolvía el 56% del PutnamBench completo —en promedio más fácil— consumiendo recursos masivos.
Régimen de investigación. DeepMind hizo un barrido
sobre problemas de Erdős; de 200 soluciones candidatas marcadas como
correctas o incorrectas, solo el 6,5% eran
“significativamente correctas”. Cuatro problemas de Erdős fueron
resueltos autónomamente en diciembre de 2025. LeanMarathon
(2026) formalizó siete teoremas objetivo de dos artículos recientes de
teoría de números analítica sobre problemas de Erdős, con 258 lemas
descargados y sin sorry.
Verificar una prueba tiene oráculo (el compilador). Verificar que un enunciado formal corresponde al informal, no.
Datos:
Lean-GAP (Dummit & Foote formalizado): “cuando
un autoformalizador no entiende la matemática detrás del enunciado,
tiende a copiar las palabras en lugar de producir una formalización
fiel, incluso cuando el problema parece rutinario y los ingredientes ya
están en Mathlib”. Caso documentado: una formalización que
compilaba pero no codificaba ni la propiedad definitoria de un anillo de
valuación discreta ni la estructura correcta de cuantificadores.Mitigaciones actuales: métricas de equivalencia
neuro-simbólicas (BEq, equivalencia definicional
bidireccional extendida), jueces de fidelidad en lenguaje natural,
generación de repertorios diversos de formalizaciones para cubrirse
frente a la sensibilidad del prover al fraseo del enunciado. Ninguna es
un oráculo.
Formalizing Mathematics at Scale (arXiv:2605.29955): un agente autoformalizador aplicado a 26 libros de texto de acceso abierto —análisis real, complejo, funcional, Fourier, diferencial; álgebra abstracta y teoría de Lie; geometría algebraica y diferencial; topología algebraica; teoría de números; combinatoria; EDP; probabilidad; informática teórica—, con intervención humana entre nula y unos mensajes al día, ~1 semana por libro. Resultado: >45.000 declaraciones de Lean 4 verificadas.
La lectura correcta: la anchura se está automatizando rápido (rellenar el sustrato de licenciatura y posgrado temprano). La profundidad no: FLT sigue con horizonte 2029, financiación dedicada y decenas de expertos.
Cociente entre tamaño de la prueba formal y de la informal. Estimaciones en Isabelle para resultados de teoría de números: 13 a 25, con los valores altos donde hubo que rellenar argumentos intermedios no explicitados en el original (por ejemplo, Erdős–Straus).
Buzzard, en el blueprint de FLT, sobre dónde se va el tiempo: el ordenador exige todos los detalles técnicos y no acepta apelaciones a la autoridad; y solo empieza a rellenar detalles por sí mismo cuando los argumentos son absolutamente obvios. La zona intermedia —rutinaria para un experto pero no trivial— absorbe el esfuerzo.
Las secciones I–IV son estables. Las secciones V–VI (benchmarks y sistemas de IA) envejecen en meses.