[Práctico 1] Consultas generales

[Práctico 1] Consultas generales

de Cristian Fabian Sottile -
Número de respuestas: 1

Hola a todos,

Escribo para hacer algunas consultas.

1. En general intento llevar un esquema mental de lo que voy escribiendo, para no caer en la mala práctica de simplemente mezclar símbolos. En el caso de Coq voy imaginando un esquema de derivación con forma de árbol (al estilo deducción natural / cálculo lambda tipado), y creo que no es del todo adecuado. Entiendo que lo ideal sería estudiar un poco del cálculo de secuentes, y creo que lo veremos luego en la materia. ¿Alguna recomendación sobre cómo pensar, por ejemplo, la táctica apply (es la que más me cuesta "meter" en mi esquema mental)?

2. En la clase anterior se habló de la indecidibilidad de las pruebas automáticas en Coq cuando se usa el axioma del tercero excluido. Me hace recordar a la no reversibilidad de los argumentos en Prolog cuando no queda claro cómo se construyen los términos, por esta noción de construcción que "quita" el tercero excluido. ¿Hay alguna conexión a nivel conceptual o es imaginación mía nomás?

3. También se habló en la clase anterior sobre dos diferentes formas de plantear una prueba: desde el uso de una prueba como objeto al aplicar la táctica `exact`, y desde la lógica aplicando `assumption`. Me interesa, ¿veremos más sobre esta dualidad? En caso de que no, ¿recomiendan algún material para profundizar?

¡Gracias!

Saludos,
Cristian

En respuesta a Cristian Fabian Sottile

Re: [Práctico 1] Consultas generales

de Carlos Luna -

Hola.

Si bien algunas respuestas y comentarios se hicieron en la clase de hoy, dejo algunas observaciones.

Sobre 1:  Está perfecto que trates de pensar lógicamente las soluciones/demostraciones, ya que combinar tácticas sin pensar no te ayudará luego con ejercicios/problemas más interesantes. Mi sugerencia es pensar en las reglas de deducción natural, de introducción y eliminación, según lo que quieras probar (no en el cálculo de secuentes). Al mirar el goal uno piensa en general en reglas de introducción, ya que son las que permiten construir pruebas, considerando el conectivo principal. Naturalmente hay que tener presente las hipótesis que se van generando, ya que estas tienen información relevante para demostrar; aquí uno piensa en las reglas de elminación de los conectivos principales de dichas hipótesis, tratando de usar/sacar información de las hipótesis. Para pensar la táctica apply pensar en el modus ponens hacia atrás, de la siguiente forma: para probar B, teniendo como hipótesis H:A->B, apply H pide probar A, dado que con A y A->B se tiene B.

Sobre 2:Gustavo comentó algo de esto en la clase de hoy. La táctica "auto" sigue un proceso de resolución similar al de prolog (resolución SLD) y cuando falla es porque no logra, en particular, instanciar/unificar todos los términos para culminar la prueba automáticamente. No necesariamente esto tiene que ver con el uso de lógica clásica.  

Sobre 3: Si, veremos más de esto en los siguientes módulos del curso.

Saludos, Carlos