GPT-5.6 acaba de cerrar una brecha de 30 años en la teoría de complejidad de la optimización convexa, según un hilo publicado el 15 de julio de 2026 en r/math.
El dato importa por dos razones: la brecha llevaba tres décadas resistiendo a especialistas citados del área, y el autor del hilo no pide fe ciega. Publicó el repositorio de Lean para que cualquiera lo compile y confirme, línea por línea, que no hay ningún sorry escondido.
TL;DR
- Un hilo en r/math (15 de julio de 2026) reporta que GPT-5.6 cerró una brecha abierta desde hace 30 años en la teoría de complejidad de la optimización convexa.- El autor aplicó una variante del prompt que OpenAI usó semanas antes para su prueba del problema CDC (Conjetura de Complejidad de Descenso).- La prueba fue formalizada en Lean 4 con la librería Mathlib y compila sin usar
sorry, el marcador de pasos sin demostrar.- El resultado extiende la cota óptima de convergencia de métodos de primer orden al caso convexo no suave con subgradientes acotados.- El hito se apoya en el linaje de Nesterov (1983) y el Optimized Gradient Method de Kim y Fessler (2014), que cerró la brecha de la constante en el caso suave.- La comunidad de r/math discute si el resultado es genuinamente nuevo o una reformulación de un lema ya conocido en la literatura rusa de los años 90.- El código Lean del proyecto está disponible públicamente para compilarlo y verificarlo en cualquier máquina.
Qué pasó
El usuario que abrió el hilo describe un proceso de tres pasos. Primero le pidió a GPT-5.6 que descompusiera el problema abierto en lemas pequeños y verificables, siguiendo la misma estructura de prompt que OpenAI usó para su anuncio de la prueba del problema CDC semanas antes. Segundo, convirtió cada lema en un enunciado formal dentro de Lean 4 antes de intentar el argumento informal. Tercero, iteró solo sobre el lema que fallaba al compilar, en vez de reescribir la prueba completa cada vez.
El resultado, según el hilo, es una extensión de la cota óptima de convergencia para métodos de optimización de primer orden al caso convexo no suave con subgradientes acotados: la zona exacta donde el problema llevaba 30 años sin cerrarse. La prueba completa, con todas sus dependencias de Mathlib, compila con lake build sin advertencias y sin el axioma sorryAx, la señal de que Lean acepta un paso sin demostrar.
Contexto e historia: 30 años de optimización convexa
La optimización convexa es el terreno donde vive buena parte del entrenamiento de modelos de machine learning: minimizar una función de pérdida convexa (o razonablemente convexa) es, en el fondo, lo que hace un optimizador como SGD o Adam en cada paso. La pregunta de fondo que persigue a este campo desde hace décadas es simple de enunciar y difícil de responder: ¿cuál es la velocidad de convergencia óptima posible para un método que solo puede consultar el gradiente o subgradiente de la función, sin información de segundo orden?
En 1983, Yurii Nesterov publicó su método acelerado de gradiente, que logra una tasa de convergencia de O(1/k²) en el caso suave, muy por encima del O(1/k) del descenso de gradiente clásico. Nemirovski y Yudin habían demostrado ese mismo año una cota inferior que coincidía en el orden de magnitud, pero no en la constante exacta. Esa brecha de constante quedó abierta durante 31 años, hasta que Donghwan Kim y Jeffrey Fessler publicaron en 2014 el Optimized Gradient Method (OGM), que cierra la brecha exacta para el caso suave.
Lo que quedaba sin resolver era la extensión de ese resultado al caso no suave, donde la función no tiene gradiente en todo punto y hay que trabajar con subgradientes acotados: el escenario típico de funciones de pérdida con regularización L1, SVMs o análisis teóricos de redes con activaciones no diferenciables como ReLU. Ese es, según el hilo de r/math, el hueco de 30 años que la prueba asistida por GPT-5.6 dice haber cerrado.
Nesterov (1983) redujo el error a O(1/k²); la extensión no suave quedó abierta 30 años.
Detalles técnicos y rendimiento
La pieza central del argumento es una función de Lyapunov modificada que acopla el término de momento del método acelerado con una cota superior sobre la norma del subgradiente en cada paso. Es la misma familia de técnica que usó Nesterov en su prueba original, pero con un término de corrección adicional que absorbe la discontinuidad del subgradiente en los puntos no diferenciables.
Un fragmento simplificado del enunciado central, tal como quedó formalizado en Lean 4 con Mathlib, se ve así:
import Mathlib.Analysis.Convex.Function
import Mathlib.Analysis.InnerProductSpace.Basic
theorem subgradiente_acotado_tasa_optima
{E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E]
(f : E → ℝ) (hf : ConvexOn ℝ Set.univ f)
(G : ℝ) (hG : ∀ x g, g ∈ SubderivAt f x → ‖g‖ ≤ G)
(x_star : E) (k : ℕ) (hk : k ≥ 1) :
f (x k) - f x_star ≤ (G * ‖x 0 - x_star‖) / Real.sqrt k := by
sorry -- la prueba completa tiene 2.400 lineas en el repositorio
Ese sorry del ejemplo es solo para ilustrar el enunciado en este artículo: en el repositorio real, publicado por el autor del hilo, el teorema completo no tiene ningún sorry y se puede confirmar corriendo un solo comando.
#print axioms subgradiente_acotado_tasa_optima
-- salida esperada: 'subgradiente_acotado_tasa_optima' depends on axioms: [propext, Classical.choice, Quot.sound]
Esos tres axiomas (propext, Classical.choice, Quot.sound) son los axiomas estándar de Lean y Mathlib que aparecen en prácticamente cualquier prueba no trivial de la librería. Si en la lista apareciera sorryAx, significaría que hay al menos un paso sin demostrar en algún lugar de la cadena de dependencias.
MétodoAñoTasa de convergenciaEstado de la brechaDescenso de gradiente clásico1847 (Cauchy)O(1/k)Subóptimo, referencia históricaMétodo acelerado de Nesterov1983O(1/k²), caso suaveÓptimo en orden, constante sin cerrarOptimized Gradient Method (OGM)2014O(1/k²), constante óptima demostradaCierra el caso suave, deja abierto el no suavePrueba asistida por GPT-5.62026O(1/√k), constante óptima en el caso no suave con subgradiente acotadoFormalizada y verificada en Lean con Mathlib
Cómo probarlo
Para verificar la prueba en tu propia máquina necesitás elan, el instalador de versiones de Lean, y clonar el repositorio del proyecto. Los comandos de instalación son los mismos que usa cualquier proyecto basado en Mathlib:
# Linux y macOS
curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
elan toolchain install leanprover/lean4:v4.11.0
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/leanprover/elan/master/elan-init.ps1" -UseBasicParsing | Invoke-Expression
Con elan instalado, el proyecto se compila con lake, el gestor de builds de Lean:
git clone https://github.com/leanprover-community/mathlib4.git
cd mi-proyecto-cdc
lake exe cache get
lake build
Si lake build termina sin errores, la prueba es válida bajo los axiomas estándar de Lean. Para confirmar que ningún paso quedó sin demostrar, corré #print axioms sobre el teorema principal como se mostró arriba.
Lean 4 rechaza cualquier prueba con pasos sin verificar antes de compilar.
Impacto y análisis
Lo que hace interesante este caso no es que un modelo grande produzca un argumento plausible: eso ya pasa todo el tiempo en r/math y suele terminar refutado en los comentarios. Es que el argumento sobrevivió el paso más hostil posible, la traducción a un lenguaje donde no hay margen para la ambigüedad retórica. Lean no acepta "se puede demostrar que" ni "es fácil ver que": exige el paso lógico completo o rechaza la compilación.
flowchart TD
A["Problema abierto: 30 años sin prueba"] --> B["Prompt estilo CDC a GPT-5.6"]
B --> C["Bosquejo de prueba en lenguaje natural"]
C --> D["Formalización en Lean 4"]
D --> E{"Mathlib compila sin sorryAx"}
E -->|Sí| F["Prueba verificada"]
E -->|No| C
⚠️ Ojo: que Lean acepte la prueba confirma consistencia interna dada la definición formal usada, no que esa definición capture exactamente la conjetura informal que la comunidad discutía hace 30 años. La brecha entre el enunciado en prosa y el enunciado formal es, en sí misma, una fuente clásica de errores en la verificación formal de matemáticas.
Ese matiz es justamente lo que discute el hilo de r/math: varios comentaristas señalan que el lema clave podría ser una reformulación de un resultado ya conocido en la literatura rusa de optimización de los años 90, publicado en revistas que rara vez se traducen o indexan en bases occidentales. Si eso se confirma, el mérito de GPT-5.6 no sería descubrir un teorema nuevo, sino encontrar y reconstruir un argumento perdido en la literatura, y formalizarlo en un lenguaje que nadie había usado antes para eso.
💡 Tip: si querés auditar el mérito real de una prueba asistida por IA, no leas el resumen: cloná el repositorio, corré
lake buildy revisá el historial de commits para ver cuántas iteraciones tardó cada lema en compilar. Un lema que compiló al primer intento es más sospechoso que uno que tardó veinte.
Qué sigue
El repositorio quedó abierto para revisión de la comunidad, y lo esperable en las próximas semanas es que algún especialista en optimización convexa, probablemente alguien que sí lea la literatura rusa de los años 90, confirme o descarte la sospecha de redundancia. Mientras tanto, el patrón de trabajo (prompt que descompone en lemas, formalización inmediata en Lean, iteración solo sobre el lema que falla) se está replicando en otros hilos de r/math para atacar problemas abiertos distintos, lo cual importa más que el resultado puntual: es un flujo de trabajo reproducible con herramientas que cualquiera puede instalar hoy.
📖 Resumen en Telegram: Ver resumen
Probalo vos: instalá elan, cloná el repositorio del hilo y corré lake build para ver con tus propios ojos si la prueba compila sin sorryAx.
Preguntas frecuentes
¿Qué es la optimización convexa?
Es la rama de las matemáticas aplicadas que estudia cómo minimizar funciones convexas (funciones cuya gráfica nunca queda por debajo de la línea recta entre dos de sus puntos) de forma eficiente. Es la base teórica detrás de casi todos los optimizadores usados para entrenar modelos de machine learning.
¿Qué significa la brecha de 30 años en este caso?
Se refiere al hueco entre lo que Nesterov demostró en 1983 para el caso suave y lo que faltaba probar para el caso convexo no suave con subgradientes acotados, un problema abierto desde los años 90 según el hilo de r/math.
¿Qué es Lean y por qué una prueba matemática pasa por él?
Lean es un asistente de pruebas: un lenguaje y un compilador que verifican, paso a paso, que cada inferencia lógica de una prueba matemática es válida según un conjunto fijo de axiomas. Si una prueba compila en Lean, no puede tener errores de razonamiento ocultos.
¿Qué es Mathlib?
Es la biblioteca matemática comunitaria de Lean 4: miles de definiciones y teoremas ya formalizados (análisis, álgebra, teoría de la medida, entre otros) sobre los que se apoya cualquier prueba nueva en vez de reconstruir todo desde cero.
¿Una prueba verificada en Lean es necesariamente correcta?
Es lógicamente consistente respecto de su enunciado formal. Pero si ese enunciado no captura bien el problema informal original, la verificación no salva ese desajuste: por eso la comunidad sigue revisando si la formalización realmente corresponde a la conjetura de 30 años.
¿Puedo verificar esta prueba sin ser matemático profesional?
Sí. Con elan instalado y el repositorio clonado, correr lake build y #print axioms no requiere entender cada lema, solo confirmar que Lean acepta la cadena completa sin sorryAx.
Referencias
- Hilo original en r/math: reporte de la prueba y enlace al repositorio de Lean.- Lean Prover: documentación oficial del asistente de pruebas usado para formalizar el resultado.- Mathlib4 en GitHub: la biblioteca matemática comunitaria sobre la que se construyó la formalización.- Convex optimization (Wikipedia): contexto general del campo y sus métodos clásicos.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)