Formalizing Moessner’s theorem and generalizations in Nuprl

Se ha publicado un artículo de razonamiento formalizado en Nuplr titulado Formalizing Moessner’s theorem and generalizations in Nuprl.

Sus autores son

Su resumen es

Moessner’s theorem describes a procedure for generating a sequence of n integer sequences that lead unexpectedly to the sequence of nth powers 1^n, 2^n, 3^n, \dots. Several generalizations of Moessner’s theorem exist. Recently, Kozen and Silva gave an algebraic proof of a general theorem that subsumes Moessner’s original theorem and its known generalizations. In this note, we describe the formalization of this theorem that the first author did in Nuprl. To the best of our knowledge, this is the first existing machine formalization. On the one hand, the formalization remains remarkably close to the original proof. On the other hand, it leads to new insights in the proof, pointing to small gaps and ambiguities that would never raise any objections in pen and pencil proofs, but which must be resolved in machine formalization.

Formalization in PVS of balancing properties necessary for the security of the Dolev-Yao cascade protocol model

Se ha publicado en el JFR un artículo de razonamiento formalizado en PVS titulado Formalization in PVS of balancing properties necessary for the security of the Dolev-Yao cascade protocol model.

Sus autores son Mauricio Ayala Rincón y Yuri Santos Rêgo (de la Univ. de Brasilia).

Su resumen es

In this work, we present an algebraic approach for modeling the two-party cascade protocol of Dolev-Yao and for fully formalizing its security in the specification language of the Prototype Verification System PVS. Although cascade protocols could be argued to be a very limited model, it should be stressed here that they are the basis of more sophisticated protocols of great applicability, such as those which allow treatment of multiparty, tuples, nonces, name-stamps, signatures, etc. In the current algebraic approach, steps of the protocol are modeled in a monoid freely generated by the cryptographic operators. Words in this monoid are specified as finite sequences and the whole protocol as a finite sequence of protocol steps, that are functions from pairs of users to sequences of cryptographic operators. In a previous work, assuming that for balanced protocols admissible words produced by a potential intruder should be balanced, a formalization of the characterization of security of this kind of protocols was given in PVS. In this work, the previously assumed property is also formalized, obtaining in this way a complete formalization which mathematically guarantees the security of these protocols. Despite such property being relatively easy to specify, obtaining a complete formalization requires a great amount of effort, because several algebraic properties, that are related to the preservation of the balancing property of the admissible language of the intruder, should be formalized in the granularity of the underlying data structure (of finite sequences used in the specification). Among these properties, the most complex are related to the notion of linkage property, which allows for a systematic analysis of words of the admissible language of a potential saboteur, showing how he/she is unable to isolate private keys of other users under the assumption of balanced protocols. The difficulties that can arise in conducting this formalization are also presented in this work.

La teorías PVS correspondientes se encuentran en aquí.

I1M2013: Definiciones por composición de funciones aritméticas

En la clase de hoy del curso Informática (de 1º del Grado en Matemáticas) se han resuelto los ejercicios de la 1ª relación. El objetivo de dicha relación es habituar a los alumnos con el entorno de trabajo Haskell/Emacs resolviendo ejercicios con definiciones de funciones por composición de las primitivas de Haskell sobre aritmética.

Los ejercicios y sus soluciones se muestran a continuación
Read More “I1M2013: Definiciones por composición de funciones aritméticas”

LI2013: Sintaxis de la lógica proposicional

La clase de hoy del curso Lógica Informática ha tenido tres partes.

En la primera parte se ha comentado las soluciones de la 1ª relación de ejercicios de representación del conocimiento en lógica proposicional usando Isabelle/HOL.

En la segunda parte se ha presentado un panorama de la lógica y sus aplicaciones a la informática. Como ejemplo de aplicación se ha mostrado cómo se puede generar automáticamente programas usando MagicHaskeller.

En la tercera parte se ha explicado la sintaxis de la lógica proposicional insistiendo en el carácter inductivo del tipo de datos de las fórmulas proposicionales, del procedimiento de definiciones por recursión sobre las fórmulas y de demostración de propiedades por inducción sobre las fórmulas.

Las tareas propuestas son:

  • resolver los ejercicios de la 2ª relación de representación del conocimiento proposicional en Isabelle/HOL y
  • resolver los ejercicios 22 a 24 del tema 2 (páginas 11 y 12 del libro de ejercicios).

Las transparencias de esta clase son las páginas 2-13 del tema 1
Read More “LI2013: Sintaxis de la lógica proposicional”

A fully automatic problem solver with human-style output

Se ha publicado un artículo sobre automatización del razonamiento titulado A fully automatic problem solver with human-style output.

Sus autores son Mohan Ganesalingam y Timothy Gowers.

Su resumen es

This paper describes a program that solves elementary mathematical problems, mostly in metric space theory, and presents solutions that are hard to distinguish from solutions that might be written by human mathematicians. The program is part of a more general project, which we also discuss.