Reseña: Fibonacci numbers and the Stern-Brocot tree in Coq

Se ha publicado un artículo de razonamiento formalizado en Coq titulado Fibonacci numbers and the Stern-Brocot tree in Coq.

Sus autor es José Grimm (del Marelle Team en el Inria, Sophia-Antipolis Méditerranée).

Su resumen es

In this paper, we study the representation of a number by some other numbers. For instance, an integer may be represented uniquely as a sum of powers of two; if each power of two is allowed to appear at most twice, the number of representations is s(n), a sequence studied by Dijkstra, that has many nice properties proved here with the use of the proof assistant Coq. It happens that every rational number x is uniquely the quotient s(n)/s(n+1) as noticed by Stern, and that the integer n is related to the continued fraction expansion of x. It happens that by reverting the bits on n, one gets a sequence of rational numbers with increasing denominators that goes from 1 to x and becomes nearer at each iteration; this was studied by Brocot, whence the name Stern-Brocot tree. An integer can also be represented as a sum of Fibonacci numbers; we study R(n) the number of such representations; there is uniqueness for the predecessors of Fibonacci numbers; there is also uniqueness under additional constraints (for instance, no two consecutive Fibonacci numbers can be used, or no two consecutive numbers can be omitted).

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

Reseña: A framework for verified depth-first algorithms

En el CPP 2015 Peter Lammich y René Neumann presentarán el trabajo A framework for verifying depth-first search algorithms que está basado en el de René Neumann titulado A framework for verified depth-first algorithms.

El resumen de este último es

We present a framework in Isabelle/HOL for formalizing variants of depth-first search. This framework allows to easily prove non-trivial properties of these variants. Moreover, verified code in several programming languages including Haskell, Scala and Standard ML can be generated. In this paper, we present an abstract formalization of depth-first search and demonstrate how it is refined to an efficiently executable version. Further we use the emptiness-problem of Büchi-automata known from model checking as the motivation to present three Nested DFS algorithms. They are formalized, verified and transformed into executable code using our framework.

El código de las correspondientes teorías en Isabelle/HOL se encuentra aquí.

LI2014: Ejercicios de lógica de primer orden

En la clase de hoy del curso de Lógica Informática se han comentado ejercicios de lógica de primer orden propuestos en exámenes de cursos anteriores. En concreto,

  • del examen del segundo parcial del curso 2007-08 se han comentado los siguientes ejercicios:
    • El 2 para calcular la forma de Skolem y la clausal de una fórmula.
    • El 3 para calcular el universo de Herbrand de un conjunto de fórmulas y decidir su consistencia mediante resolución.
    • El 4 para formalizar un argumento y decidir su validez por resolución, tableros semánticos y deducción natural.
  • del examen de la convocatoria de junio de 2008 se han comentado los siguientes ejercicios:
    • El 2 para formalizar expresiones que usan igualdad.