Articulo de referencia

Lean (asistente de pruebas)

Lean es un asistente de demostración y un lenguaje de programación funcional . [ 2 ] Se basa en el cálculo de construcciones con tipos inductivos (específicamente, el Cálculo de...

Lean es un asistente de demostración y un lenguaje de programación funcional . [ 2 ] Se basa en el cálculo de construcciones con tipos inductivos (específicamente, el Cálculo de Construcciones Inductivas), la teoría de tipos fundamental desarrollada originalmente con el demostrador de teoremas Coq , [ 3 ] que pasó a llamarse Rocq en 2024. [ 4 ] Es un proyecto de software libre y de código abierto alojado en GitHub . Su desarrollo cuenta actualmente con el apoyo de la organización sin fines de lucro Lean Focused Research Organization (FRO).

Historia

Lean fue desarrollado principalmente por el científico informático brasileño Leonardo de Moura mientras trabajaba para Microsoft Research y ahora para Amazon Web Services , y ha contado con importantes contribuciones de otros coautores y colaboradores a lo largo de su historia.

Lanzada en 2013, [ 5 ] las versiones iniciales del lenguaje, más tarde conocidas como Lean 1 y 2, eran experimentales y contenían características como soporte para fundamentos basados ​​en la teoría de tipos homotópicos que posteriormente fueron descartadas.

Lean 3 (lanzada por primera vez el 20 de enero de 2017) fue la primera versión moderadamente estable de Lean. Se implementó principalmente en C++ con algunas características escritas en el propio Lean. Después de la versión 3.4.2, Lean 3 llegó oficialmente al final de su ciclo de vida mientras comenzaba el desarrollo de Lean 4. Durante este período intermedio, miembros de la comunidad Lean desarrollaron y publicaron versiones no oficiales hasta la 3.51.1. [ 6 ]

En 2021, se lanzó Lean 4, una reimplementación del demostrador de teoremas Lean capaz de producir código C que luego se compila, lo que permite el desarrollo de automatización eficiente específica del dominio. [ 7 ] Lean 4 también contiene un sistema de macros higiénico y procedimientos mejorados de síntesis de clases de tipos y administración de memoria con respecto a la versión anterior. [ 8 ] Otra ventaja en comparación con Lean 3 es la capacidad de evitar tocar el código C++ para modificar el frontend y otras partes clave del sistema central, ya que ahora están todas implementadas en Lean y disponibles para que el usuario final las sobrescriba según sea necesario. [ 2 ]

Lean 4 no es compatible con versiones anteriores de Lean 3. [ 9 ] Utiliza la versión C++17 de C++. [ 2 ]

En 2023, se formó Lean FRO, con los objetivos de mejorar la escalabilidad y la usabilidad del lenguaje, e implementar la automatización de pruebas . [ 10 ]

En 2025, el premio ACM SIGPLAN Programming Languages ​​Software Award fue otorgado a Gabriel Ebner, Soonho Kong, Leo de Moura y Sebastian Ullrich por Lean, citado por su "impacto significativo en las matemáticas, la verificación de hardware y software y la IA". [ 11 ]

En 2026, la biblioteca mathlib fue galardonada con el premio Demailly a la ciencia abierta . [ 12 ]

Descripción general

Lean incluye muchas características útiles para la programación funcional y la demostración de teoremas, como tipos dependientes , clases de tipos , multihilo, un lenguaje de tácticas expresivo y un sistema de módulos. [ 13 ]

Bibliotecas

La biblioteca estándar oficial de Lean se llama Std y contiene estructuras de datos y funciones comunes útiles para la programación, como mapas de árbol, mapas hash, funciones de fecha y hora y primitivas de concurrencia. [ 14 ] La biblioteca estándar se complementa con las baterías mantenidas por la comunidad , que implementan estructuras de datos adicionales que pueden usarse tanto para la investigación matemática como para el desarrollo de software más convencional. [ 15 ]

En 2017, se inició un proyecto comunitario para desarrollar una biblioteca Lean llamada mathlib , con el objetivo de digitalizar la mayor cantidad posible de matemáticas puras en una gran biblioteca cohesiva, hasta alcanzar el nivel de investigación matemática. [ 16 ] [ 17 ] En mayo de 2025, mathlib había formalizado más de 210 000 teoremas y 100 000 definiciones en Lean. [ 18 ]

Otras bibliotecas incluyen CSLib, que es una biblioteca de ciencias de la computación teórica, [ 19 ] SciLean, que es una biblioteca para computación científica en Lean, [ 20 ] y PhysLib , cuyo objetivo es digitalizar la física usando Lean. [ 21 ]

Integración del editor

Lean se integra con Visual Studio Code , Neovim y Emacs.. [ 22 ] La interfaz se realiza a través de una extensión de cliente y un servidor Language Server Protocol . En estos editores, los símbolos Unicode se pueden escribir utilizando secuencias similares a las de LaTeX , como \timespara "×".

Ejemplos (Lean 4)

Los números naturales pueden definirse como un tipo inductivo . Esta definición se basa en los axiomas de Peano y establece que todo número natural es cero o el sucesor de algún otro número natural.

inductivo Nat : Tipo | cero : Nat | succ : Nat Nat

La suma de números naturales se puede definir recursivamente , utilizando la coincidencia de patrones .

def Nat . add : Nat Nat Nat | n , Nat . zero => n -- n + 0 = n | n , Nat . succ m = > Nat . succ ( Nat . add n m ) -- n + succ(m) = succ(n + m)

Esta es una prueba simple de(PAGQ)(QPAG){\displaystyle (P\wedge Q)\implies (Q\wedge P)}para dos proposiciones P y Q (donde{\displaystyle \wedge }es la conjunción y{\displaystyle \implies }la implicación ) en Lean usando el modo táctico:

teorema and_swap ( p q : Prop ) : p q q p := por intro h -- suponemos p ∧ q con prueba h, el objetivo es q ∧ p aplicar And . intro -- el objetivo se divide en dos subobjetivos, uno es q y el otro es p · exacto h . derecha -- el primer subobjetivo es exactamente la parte derecha de h : p ∧ q · exacto h . izquierda -- el segundo subobjetivo es exactamente la parte izquierda de h : p ∧ q

Esta misma demostración en modo término:

teorema and_swap ( p q : Prop ) : p q q p := fun hp , hq => hq , hp 

El teorema también se puede demostrar utilizando la táctica de molienda, que emplea técnicas de solucionadores SMT para construir demostraciones automáticamente:

teorema and_swap ( p q : Prop ) : p q q p := por molienda

Uso

Matemáticas

Lean ha recibido la atención de matemáticos como Thomas Hales , [ 23 ] Kevin Buzzard , [ 24 ] Terence Tao , [ 25 ] y Heather Macbeth. [ 26 ] Hales lo está utilizando para su proyecto, Formal Abstracts. [ 27 ] Buzzard lo utiliza para el proyecto Xena. [ 28 ] Uno de los objetivos del Proyecto Xena es reescribir cada teorema y demostración en el plan de estudios de matemáticas de pregrado del Imperial College London en Lean. Tao publicó un complemento en Lean para su libro de texto de análisis real Analysis I , que consiste en una formalización de secciones seleccionadas del texto matemático. [ 29 ] Macbeth está utilizando Lean para enseñar a los estudiantes los fundamentos de la demostración matemática con retroalimentación instantánea. [ 30 ]

Formalizaciones destacables

En 2021, un equipo de investigadores utilizó Lean para verificar la corrección de una demostración de Peter Scholze en el área de matemáticas condensadas . El proyecto atrajo la atención por formalizar un resultado en la vanguardia de la investigación matemática. [ 31 ] En 2023, Terence Tao utilizó Lean para formalizar una demostración de la conjetura polinomial de Freiman-Ruzsa (PFR), un resultado publicado por Tao y colaboradores en el mismo año. [ 32 ] En 2026, los problemas 728, [ 33 ] 347, [ 34 ] y 369 de Erdős [ 35 ] fueron resueltos con asistencia de IA y verificados formalmente con Lean.

Física

Physlib [ 36 ] aspira a ser la biblioteca definitiva para la física en Lean, similar a Mathlib para las matemáticas. Su objetivo es ser un repositorio integral que contenga definiciones fundamentales, teoremas y cálculos de física. Kevin Buzzard, del Imperial College de Londres, afirma [ 37 ] que la formalización está teniendo un gran impacto en las matemáticas y que no hay razón para que la física teórica no pueda tratarse de la misma manera.

“Idealmente, necesitamos un millón de líneas de física, y conseguirlas puede ser un trabajo arduo. Si las máquinas no son muy buenas para realizar cálculos físicos inicialmente, entonces habrá trabajo manual al principio, y luego, con suerte, las máquinas se harán cargo”.

Formalizaciones destacables

En 2025, Joseph Tooby-Smith utilizó Lean para descubrir un error [ 37 ] en un artículo [ 38 ] publicado en 2006 sobre la estabilidad del potencial del modelo de doblete de Higgs dos (2HDM).

Inteligencia artificial

En 2022, OpenAI y Meta AI crearon de forma independiente modelos de IA para generar demostraciones de varios problemas de olimpiadas de nivel de secundaria en Lean. [ 39 ] El modelo de Meta AI está disponible para uso público con el entorno Lean. [ 40 ]

En 2023, Vlad Tenev y Tudor Achim cofundaron la startup Harmonic, cuyo objetivo es reducir las alucinaciones de la IA mediante la generación y verificación de código Lean. [ 41 ]

En 2024, Google DeepMind creó AlphaProof [ 42 ] , que demuestra enunciados matemáticos en Lean al nivel de un medallista de plata en la Olimpiada Internacional de Matemáticas . Este fue el primer sistema de IA que logró un desempeño digno de medalla en los problemas de una olimpiada de matemáticas. [ 43 ]

En abril de 2025, DeepSeek presentó DeepSeek-Prover-V2, un modelo de IA diseñado para la demostración de teoremas en Lean 4, construido sobre DeepSeek-V3. [ 44 ]

Véase también

Referencias

  1. "Versión 4.32.2" . 28 de julio de 2026. Consultado el 29 de julio de 2026 .
  2. 1 2 3 Moura, Leonardo de ; Ullrich, Sebastian (2021). "El demostrador de teoremas y lenguaje de programación Lean 4". En Platzer, André; Sutcliffe, Geoff (eds.). Deducción automatizada – CADE 28 . Lecture Notes in Computer Science. Vol. 12699. Cham: Springer International Publishing. pp. 625– 635. doi : 10.1007/978-3-030-79876-5_37 . ISBN   978-3-030-79876-5.
  3. Paulin-Mohring, Christine (1993). "Definiciones inductivas en el sistema Coq: Reglas y propiedades". Cálculos lambda tipados y aplicaciones . Notas de clase en informática. Vol. 664. Springer. pp. 328–345 . doi : 10.1007/BFb0037116 .  
  4. "The Rocq Prover" . rocq-prover.org . Consultado el 26 de julio de 2026 .
  5. "Acerca de" . Lenguaje Lean . Consultado el 13 de marzo de 2024 .
  6. "leanprover-community/lean - Lean 3 Theorem Prover (community fork)" . GitHub . Consultado el 31-07-2026 .
  7. Moura, Leonardo de; Ullrich, Sebastian (2021). Platzer, Andr'e; Sutcliffe, Geoff (eds.). Deducción automatizada -- CADE 28. Springer International Publishing. pp. 625–635 . doi : 10.1007/978-3-030-79876-5_37 . ISBN  978-3-030-79876-5. S2CID 235800962 . Consultado el 24 de marzo de 2023 . 
  8. Ullrich, Sebastian; de Moura, Leonardo (2020-01-28). "Más allá de las notaciones: expansión macro higiénica para lenguajes de demostración de teoremas". arXiv : 2001.10490 [ cs ].
  9. "Cambios significativos desde Lean 3" . Manual Lean . Archivado del original el 15 de marzo de 2023. Consultado el 24 de marzo de 2023 .
  10. "Misión" . Lean FRO . 25/07/2023 . Consultado el 14/03/2024 .
  11. "Premio de Software de Lenguajes de Programación" . www.sigplan.org . Archivado del original el 6 de julio de 2025. Consultado el 6 de julio de 2025 .
  12. «Épijournal de Géométrie Algébrique - Premio Demailly 2026» . epiga.episciences.org (en francés) . Consultado el 26 de mayo de 2026 .
  13. "The Lean Language Reference" . Lean Language . Consultado el 25 de diciembre de 2025 .
  14. "Std" . Lenguaje Lean . Consultado el 25/12/2025 .
  15. "baterías" . GitHub . Consultado el 22 de septiembre de 2024 .
  16. "Construyendo la biblioteca matemática del futuro" . Quanta Magazine . Octubre de 2020. Archivado del original el 29 de marzo de 2026.
  17. "Comunidad Lean" . leanprover-community.github.io . Consultado el 24 de octubre de 2023 .
  18. "Estadísticas de Mathlib" . leanprover-community.github.io . Consultado el 7 de mayo de 2025 .
  19. "CSLib" . GitHub . Consultado el 2 de marzo de 2026 .
  20. «SciLean» . GitHub . Consultado el 25 de septiembre de 2025 .
  21. "leanprover-community/physlib: Un proyecto para digitalizar resultados de física en Lean" . GitHub . Consultado el 2 de marzo de 2026 .
  22. "Instalación de Lean 4 en Linux" . leanprover-community.github.io . Consultado el 24 de octubre de 2023 .
  23. Hales, Thomas (18 de septiembre de 2018). "Una revisión del probador de teoremas Lean" . Jigger Wit .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  24. Buzzard, Kevin. "¿El futuro de las matemáticas?" (PDF) . Consultado el 6 de octubre de 2020 .
  25. Tao, Terence (31 de mayo de 2025). "Un complemento Lean para "Análisis I"" . Terry Tao -- Novedades . WordPress.{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  26. Macbeth, Heather. "La mecánica de la prueba" . hrmacbeth.github.io .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  27. "Resúmenes formales" . Github .
  28. "¿Qué es el proyecto Xena?" . Xena . 8 de mayo de 2019.
  29. Tao, Terence. "análisis" . github.com/teorth .
  30. Roberts, Siobhan (2 de julio de 2023). "La IA también viene por las matemáticas" . New York Times .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  31. Hartnett, Kevin (28 de julio de 2021). "Proof Assistant da el salto a las grandes ligas de las matemáticas" . Quanta Magazine .{{cite news}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  32. ^ Sloman, Leila (6 de diciembre de 2023). "El "equipo A" de las matemáticas demuestra un vínculo crucial entre la suma y los conjuntos . Quanta Magazine . Consultado el 7 de diciembre de 2023 .
  33. "728" . Problemas de Erdos . Consultado el 15 de junio de 2026 .
  34. "347" . Problemas de Erdos . Consultado el 15 de junio de 2026 .
  35. "369" . Problemas de Erdos . Consultado el 15 de junio de 2026 .
  36. "Physlib" .
  37. 1 2 "New Scientist" . New Scientist . 26 de marzo de 2026. Consultado el 12 de abril de 2026 .
  38. "Estabilidad y ruptura de simetría en el modelo general de doblete de Higgs" . arxiv.org . Consultado el 12 de abril de 2026 .
  39. "Resolviendo (algunos) problemas formales de la olimpiada matemática" . OpenAI . 2 de febrero de 2022. Consultado el 13 de marzo de 2024 .
  40. "Enseñando razonamiento matemático avanzado a la IA" . Meta AI . 3 de noviembre de 2022. Consultado el 13 de marzo de 2024 .
  41. Metz, Cade (23 de septiembre de 2024). "¿Son las matemáticas el camino hacia los chatbots que no inventan cosas?" . New York Times .{{cite news}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  42. "La IA alcanza el nivel de medalla de plata resolviendo problemas de la Olimpiada Internacional de Matemáticas" . Google DeepMind . 14 de mayo de 2024. Consultado el 25 de julio de 2024 .
  43. Roberts, Siobhan (25 de julio de 2024). "Apártense, matemáticos, aquí llega AlphaProof" . New York Times .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  44. "DeepSeek actualiza su modelo de IA centrado en matemáticas, Prover" . Yahoo Finance . 30 de abril de 2025. Consultado el 30 de abril de 2025 .
  • Sitio web oficial
  • Apóyate en GitHub
  • Comunidad Lean
  • Lean FRO
  • El juego de los números naturales : un tutorial interactivo para aprender Lean
  • Moogle.ai : un motor de búsqueda semántica para encontrar teoremas en mathlib.