Reseña: Formal proofs of transcendence for e and π as an application of multivariate and symmetric polynomials

Se ha publicado un artículo de razonamiento formalizado en Coq sobre teoría de números titulado Formal proofs of transcendence for e and π as an application of multivariate and symmetric polynomials.

Sus autores son

Su resumen es

We describe the formalisation in Coq of a proof that the numbers e and π are transcendental. This proof lies at the interface of two domains of mathematics that are often considered separately: calculus (real and elementary complex analysis) and algebra. For the work on calculus, we rely on the Coquelicot library and for the work on algebra, we rely on the Mathematical Components library. Moreover, some of the elements of our formalized proof originate in the more ancient library for real numbers included in the Coq distribution. The case of π relies extensively on properties of multivariate polynomials and this experiment was also an occasion to put to test a newly developed library for these multivariate polynomials.

El trabajo se presentará el 18 de enero de 2016 en el CPP 2016 (The 5th ACM SIGPLAN Conference on Certified Programs and Proofs).

El código de las correspondientes teorías en Coq se encuentra aquí.

LI2015: Tableros semánticos de primer orden

En la primera parte de la clase de hoy del curso de Lógica Informática se ha presentado un nuevo sistema deductivo: los tableros semánticos de primer orden como ampliación del presentado en el tema 3 para la lógica proposicional.

En la segunda parte se han comentado las soluciones de los ejercicios 6.29 y 6.30 del libro de ejercicios.

Las transparencias de esta clase son las del tema 9 que se muestran a continuación

I1M2015: Los problemas de las N reinas y de Hamming en Haskell

En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos vistos dos aplicaciones de la programación funcional en Haskell: el problema de las reinas (consistente en colocar N reinas en un tablero de dimensiones N por N de forma que no se encuentren más de una en la misma línea: horizontal, vertical o diagonal) y el problema de Hamming (consistente definir una sucesión estrictamente creciente de números tales que el número 1 está en la sucesión y que, si x está en la sucesión, entonces 2x, 3x y 5x también están).

El código del problema de las N reinas es
Read More “I1M2015: Los problemas de las N reinas y de Hamming en Haskell”

I1M2015: Problema del concurso “Cifras y letras” en Haskell

En la primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos desarrollado un programa en Haskell para resolver los problemas aritméticos del concurso Cifras y letras que consisten en dada una sucesión de números naturales y un número objetivo, intentar construir una expresión cuyo valor es el objetivo combinando los números de la sucesión usando suma, resta, multiplicación, división y paréntesis. Además, cada número de la sucesión puede usarse como máximo una vez y todos los números, incluyendo los resultados intermedios tienen que ser enteros positivos (1,2,3,…).

Por ejemplo, dada la sucesión 1, 3, 7, 10, 25, 50 y el objetivo 765, una solución es (1+50)x(25−10). Para el problema anterior existen 780 soluciones. En cambio, con la sucesión anterior y el objetivo 831, no hay solución.

Se empieza formalizando el problema y definiendo una función para reconcer las soluciones. A continuación, se presentan tres soluciones: la primera por fuerza bruta, la segunda mediante generación y evaluación y la tercera con simplificaciones algebraicas. Se termina con una comparación de las tres soluciones.

El código del programa es
Read More “I1M2015: Problema del concurso “Cifras y letras” en Haskell”