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”

I1M2012: Combinatoria en Haskell (1)

En la clase de hoy de Informática de 1º del Grado en Matemáticas se han explicado las soluciones de los 19 primeros ejercicios de la relación 22.

El objetivo de esta relación es estudiar la generación y el número de
las principales operaciones de la combinatoria. En concreto, se
estudia

  • Permutaciones.
  • Combinaciones sin repetición..
  • Combinaciones con repetición
  • Variaciones sin repetición.
  • Variaciones con repetición.

Además, se estudia dos temas relacionados:

  • Reconocimiento y generación de subconjuntos y
  • El triángulo de Pascal

Los ejercicios, y sus soluciones, se muestran a continuación.
Read More “I1M2012: Combinatoria en Haskell (1)”

LMF2013: Ejercicios de argumentación en lógica proposicional con Isabelle/HOL

En la clase de hoy del curso Lógica matemática y fundamentos se ha explicado cómo formalizar en lógica proposicional los argumentos de los ejercicios 8 y 9 de la relación 4 y cómo demostrar con Isabelle/HOL su corrección.

Los ejercicios y sus soluciones se muestran a continuación:
Read More “LMF2013: Ejercicios de argumentación en lógica proposicional con Isabelle/HOL”

LMF2013: Misceláneas

En la clase de hoy del curso Lógica matemática y fundamentos se comentado distintas cuestiones.

En primer lugar, se ha respondido la pregunta de cómo demostrar por deducción natural la fórmula (¬q → ¬p) ∨ (q → p). Su dificulad está en el uso del principio del tercio excluso y en la demostración por casos (eliminación de la disyunción).

En segundo lugar, se ha respondido la pregunta de cómo usar lemas auxiliares en las demostraciones con Isabelle/HOL.

En tercer lugar, se ha comentado que APLI2 sólo comprueba que la formalización es correcta; pero no que el argumento sea correcto.

En cuarto lugar, se ha explicado cómo se puede demostrar automáticamente argumentos que no se puede con el método auto, pero sí con metis o meson. Como ejemplo, se ha demostrado el ejercicio 8 de la relación 6 con metis.

En quinto lugar, se ha explicado cómo se puede comprobar que los modelos calculados por QuickCheck son contramodelos. Para ello, se ha usado el ejercicio el ejercicio 13 de la relación 6.

Para resaltar la importancia del principio del tercio excluso, se ha demostrado que:

  • la fórmula ∃x(P(x) → ∀yP(y)) es correcta y
  • existen dos números irracionales x e y tales que xʸ es racional.

Finalmente, terminamos comentando cuestiones de filosofía de la matemática. En particular, sobre el formalismo, el intuicionismo y el constructivismo.