← Últimos artículos
🤖 AI

Case study: solving P-99 with LPTP and an LLM

Este artículo presenta un experimento en el que un LLM (Claude) generó y verificó formalmente soluciones para los primeros 33 de los Ninety-Nine Prolog Problems utilizando LPTP, demostrando un enfoque de "vericoding" que combina especificaciones informales en inglés con la generación automática de código y pruebas matemáticas rigurosas de corrección.

Autores originales: Fred Mesnard, Thierry Marianne, Étienne Payet, Wim Vanhoof

Publicado 2026-07-24
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Fred Mesnard, Thierry Marianne, Étienne Payet, Wim Vanhoof

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina un mundo donde las computadoras no solo siguen instrucciones rígidas y robóticas, sino que realmente pueden entender la forma desordenada y difusa en que los humanos describen los problemas. Esta es la frontera de la Inteligencia Artificial, específicamente una rama llamada Modelos de Lenguaje de Gran Tamaño (LLM). Piensa en un LLM como un estudiante superinteligente e increíblemente culto que ha leído casi todo lo que hay en internet. Si le pides que escriba una historia, puede hacerlo; si le pides que escriba código, también puede. Pero hay un inconveniente: este estudiante es propenso a las "alucinaciones", lo que significa que podría inventar hechos con total confianza o escribir código que parece perfecto pero que secretamente falla cuando intentas ejecutarlo.

Para solucionar esto, los científicos utilizan la Verificación Formal, que es como un profesor de matemáticas superestricto que revisa cada uno de los pasos de la tarea de un estudiante para asegurar que sea lógicamente imposible que esté equivocado. En el mundo de la informática, existe un conjunto famoso de desafíos llamados los 99 Problemas de Prolog (o P-99). Estos son como los "entrenamientos de gimnasio" para la programación lógica, un estilo de codificación donde describes qué quieres que suceda en lugar de cómo hacerlo paso a paso. La gran pregunta que los investigadores se plantean es: ¿Podemos dejar que el estudiante de IA escriba el código basado en una descripción sencilla en inglés, y luego hacer que el profesor de matemáticas verifique instantáneamente si es realmente correcto? Este artículo explora exactamente ese experimento, combinando la libertad creativa de la IA con la seguridad férrea de la lógica formal.


El Experimento: Un Dúo de Codificación con un Profesor Estricto

En este estudio, un equipo de investigadores decidió probar una nueva forma de trabajar llamada "vibe-coding" mezclada con "vericoding". Imagina el "vibe-coding" como pedirle a un amigo creativo que te construya una casa en un árbol basada en un boceto aproximado que dibujaste en una servilleta. Dices: "Quiero una casa en un árbol con un tobogán y una puerta secreta", y ellos simplemente empiezan a construir. Es rápido y divertido, pero el resultado puede ser inestable. El "vericoding" es lo opuesto: es como contratar a un arquitecto que exige planos, pruebas de resistencia e inspecciones de seguridad antes de clavar un solo clavo.

Los investigadores querían ver si podían combinar estos dos enfoques. Utilizaron un modelo de IA llamado Claude (específicamente la versión Opus 4.6) para actuar como el constructor creativo. Le entregaron los primeros 33 problemas de la famosa lista P-99, que están escritos en un inglés sencillo e informal. Por ejemplo, un problema simplemente dice: "Encuentra el último elemento de una lista".

El trabajo de la IA era:

  1. Escribir el código Prolog para resolver el problema.
  2. Escribir un archivo de prueba para comprobar si el código funciona con ejemplos.
  3. Escribir una prueba formal para garantizar matemáticamente que el código es seguro, correcto y que siempre terminará de ejecutarse.

Para verificar las pruebas, utilizaron una herramienta llamada LPTP (Logic Program Theorem Prover). Piensa en LPTP como el estricto profesor de matemáticas que se niega a aceptar un "parece correcto" como respuesta. Exige una derivación lógica paso a paso para cada afirmación.

Los Resultados: Una Mezcla de Magia y Matemáticas

El experimento fue un éxito, pero no fue una varita mágica. El equipo logró resolver 33 de 88 ejercicios (aproximadamente el 37.5%) utilizando este método. Esto es lo que sucedió tras bambalinas:

  • La Parte Creativa (Vibe-Coding): La IA fue sorprendentemente buena en la codificación inicial. Escribió 58 procedimientos lógicos (el código real) y 508 casos de prueba en solo unos minutos por problema. Entendió las instrucciones en inglés y generó código que funcionaba correctamente.
  • La Parte Estricta (Vericoding): Aquí es donde comenzó el verdadero trabajo. La IA tenía que demostrar que su código era correcto. Generó 257 lemas (pequeños hechos matemáticos) y escribió la asombrosa cifra de 11,800 líneas de prueba.
  • El Toque Humano: Los investigadores no dejaron que la IA actuara sin control. Revisaron manualmente cada uno de los archivos. Ejecutaron las pruebas, leyeron las declaraciones lógicas y volvieron a ejecutar las pruebas con LPTP. Si la IA se quedaba atascada o escribía una prueba que no tenía sentido, los humanos intervenían para darle una pista. Por ejemplo, para un problema sobre encontrar el último elemento de una lista, los humanos tuvieron que preguntarle a la IA: "Oye, ¿cómo se conecta esto con la función append?", para ayudarla a formular la prueba correcta.

Los Grandes Hallazgos

El artículo revela algunos puntos clave sobre esta nueva forma de trabajar:

  1. La IA se está volviendo buena en el "Vibe-Coding": La IA pudo tomar una descripción vaga en inglés y convertirla en código Prolog funcional muy rápidamente. Incluso evitó trucos "impuros" que el código Prolog del mundo real suele usar, manteniéndose en un estilo lógico estricto que el profesor de matemáticas (LPTP) pudiera entender.
  2. La IA necesita un empujón para el "Vericoding": Aunque la IA podía generar el código fácilmente, demostrar por qué era correcto era más difícil. Para propiedades funcionales complejas (como demostrar que el código hace exactamente lo que se supone que debe hacer), la IA a veces necesitaba que los investigadores humanos le explicaran primero la lógica en lenguaje sencillo. Una vez que los humanos daban una pista, la IA podía formalizarla y probarla.
  3. No es un problema "Resuelto" todavía: El equipo no resolvió todos los 99 problemas. Algunos le tomaron a la IA solo 15 minutos (como el sencillo problema del "último elemento"), mientras que otros tomaron varias horas (como el de la "factorización de números primos"). Los investigadores señalan que, para los problemas más difíciles, la IA todavía tiene dificultades para proponer las estrategias de prueba adecuadas por sí sola sin la guía humana.

Un Vistazo al Futuro: La Conexión "MCP"

El artículo también describe una nueva herramienta que están construyendo llamada Protocolo de Contexto de Modelo (MCP). Actualmente, la IA y el profesor de matemáticas (LPTP) se comunican a través de archivos y documentos de texto, lo cual es un poco como enviarse cartas de ida y vuelta. La nueva herramienta MCP es como darles una línea telefónica directa. Esto permite que la IA pida ayuda al profesor de matemáticas en tiempo real, verifique su propio trabajo instantáneamente y corrija errores sin tener que esperar a que un humano intervenga. Probaron esto con otros modelos de IA (como Gemini) y descubrieron que, aunque algunos modelos podían generar las ideas para las pruebas, solo Claude fue capaz de generar con éxito las pruebas válidas que pasaban los controles estrictos.

La Conclusión

Este artículo muestra que estamos entrando en una era en la que la IA puede actuar como un socio creativo en la escritura de código lógico complejo, pero todavía necesita un "piloto" humano para guiarla a través de las partes más difíciles. La IA puede escribir el código e incluso redactar las pruebas matemáticas, pero a veces se pierde en los detalles. Al combinar la velocidad y creatividad de la IA con un verificador de pruebas formales como LPTP, los investigadores crearon un sistema que detecta los errores de la IA antes de que se conviertan en errores reales. No es todavía una máquina de "solución total" automatizada, pero es una herramienta poderosa que hace que la escritura de software fiable sea más rápida y segura que nunca.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →