I1M2012: El TAD de los polinomios en Haskell (2)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos continuado el estudio del tipo abstracto de los polinomios y su implementación en Haskell que comenzamos en la clase anterior. Concretamente, hemos estudiado la implementaciones en Haskell del TAD de los polinomios mediante listas densas y las operaciones con los polinomios usando el TAD.

Las transparencias usadas en la clase son las páginas 24-55 del tema 21
Read More “I1M2012: El TAD de los polinomios en Haskell (2)”

Reseña: Data refinement in Isabelle/HOL

Se ha publicado un artículo sobre automatización del razonamiento en Isabelle/HOL titulado Data refinement in Isabelle/HOL.

Sus autores son Florian Haftmann, Alexander Krauss, Ondřej Kunčar y Tobias Nipkow (de la Universidad Técnica de Munich).

El trabajo se presentará en julio en el ITP 2013 (4th Conference on
Interactive Theorem Proving).

Su resumen es

The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstract types. At the core is an extension of the code generator to deal with data type invariants. In order to automate the process of setting up specific data refinements, two packages for transferring definitions and theorems between types are exploited.

Reseña: Homotopy limits in Coq

Se ha publicado un artículo de razonamiento formalizado en Coq titulado Homotopy limits in Coq.

Sus autores son Jeremy Avigad (de la Carnegie Mellon University), Krzysztof Kapulkin (de la Univ. de Pittsburgh) y Peter LeFanu Lumsdaine.

Su resumen es

Working in Homotopy Type Theory, we provide a systematic study of basic homotopy limits and related constructions. The entire development has been formally verified in the Coq interactive proof assistant.

Las teorías en Coq correspondientes al artículo se encuentra aquí.

Reseña: Formalizing the confluence of orthogonal rewriting systems

Se ha publicado un artículo de razonamiento formalizado en PVS sobre reescritura titulado Formalizing the confluence of orthogonal rewriting systems.

Sus autores son Ana Cristina Rocha Oliveira y Mauricio Ayala-Rincón (de la Universidad de Brasilia)

Su resumen es

Orthogonality is a discipline of programming that in a syntactic manner guarantees determinism of functional specifications. Essentially, orthogonality avoids, on the one side, the inherent ambiguity of non determinism, prohibiting the existence of different rules that specify the same function and that may apply simultaneously (non-ambiguity), and, on the other side, it eliminates the possibility of occurrence of repetitions of variables in the left-hand side of these rules (left linearity). In the theory of term rewriting systems (TRSs) determinism is captured by the well-known property of confluence, that basically states that whenever different computations or simplifications from a term are possible, the computed answers should coincide. Although the proofs are technically elaborated, confluence is well-known to be a consequence of orthogonality. Thus, orthogonality is an important mathematical discipline intrinsic to the specification of recursive functions that is naturally applied in functional programming and specification. Starting from a formalization of the theory of TRSs in the proof assistant PVS, this work describes how confluence of orthogonal TRSs has been formalized, based on axiomatizations of properties of rules, positions and substitutions involved in parallel steps of reduction, in this proof assistant. Proofs for some similar but restricted properties such as the property of confluence of non-ambiguous and (left and right) linear TRSs have been fully formalized.

RA2012: Deducción natural en lógica de primer orden con Isabelle/HOL

En la clase de hoy del curso de Razonamiento automático se ha presentado la deducción natural en lógica de primer orden con Isabelle/HOL. La presentación se basa en los ejemplos de tema 8 del curso de Lógica informática), que a su vez se basa en el capítulo 2 del libro de de Huth y Ryan Logic in Computer Science (Modelling and reasoning about systems).

La página al lado de cada ejemplo indica la página de las transparencias donde se encuentra la demostración.

Para cada ejemplo se presentan distintas demostraciones. La primera intenta reflejar la demostración de las transparencias, las siguientes van eliminando detalles de la prueba hasta la última que es automática.

A lo largo de los ejemplos se van comentando los elementos del lenguaje conforme van entrando en el juego.

La teoría con los ejemplos presentados en la clase es la siguiente:
Read More “RA2012: Deducción natural en lógica de primer orden con Isabelle/HOL”