InCo 2004CFPTT - 4.1 4. Programación de Pruebas Isomorfismo de Curry-Howard.

Slides:



Advertisements
Presentaciones similares
TIPOS DE INVESTIGACIÓN
Advertisements

Antonella Ruffa Ahumada Irene Morales Jiménez
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
QUIMICA CUANTICA: INTRODUCCION
equivalencia material; y b) equivalencia lógica
El método de la deducción
Proposición Atómica: Cuando se puede representar con una variable proposicional. Entre sus signos no contiene ningún conectivo lógico Proposición molecular:
Teoría de las descripciones Bertrand Russell ( )
UNIDAD 3 La verdad.
Chequeo e inferencia de tipos
PRUEBA DE INGRESO Universidad Nacional de Colombia Dirección Nacional de Admisiones.
Mat. Juan Jiménez Krassel
Ejemplos de configuraciones epistémicas
José Alfredo Cervantes Guzmán UMSNH Coautor: Jesús Rivera
¿Cuánta metalógica introducir en un primer curso de lógica simbólica?
PRUEBAS DE HIPOTESIS HIPOTESIS
Prueba de Hipótesis La Prueba t Carlos B. Ruiz-Matuk.
Distinción entre ciencias formales y ciencias empíricas
ÍNDICE Conjuntos Partes de un conjunto. Operaciones.
E.D.O. de segundo orden no homogénea con coeficientes constantes Cuando.
FUNCIONES MATEMATICAS
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
Representaciones de conjuntos y funciones Roberto Moriyón.
Las Operaciones Intelectuales
PROGRAMACIÓN LÓGICA.
Teoremas de Completitud e Incompletitud de Gödel
ANOVA Modelo I: Comparación entre medias
EXPONENTES Y RADICALES
TPPSFProgramando pruebas Programando Pruebas Isomorfismo de Curry-Howard.
Mario Bunge. La ciencia. Su método y su filosofía. 18ª. reimpr
ANALISIS DE TEXTOS ESCOLARES Fabio Hernán Echeverri COD:
Curso de Bioestadística. ANOVA
EL CONOCIMIENTO CIENTIFICO
Campus Estado de México—Raúl Monroy Resolución, la regla de inferencia y el cálculo Raúl Monroy.
¿ INDUCCION MATEMATICA ?
2. Asistentes de Pruebas para Lógicos y Matemáticos II
(o lógica proposicional)
Lógica de proposiciones, deducción natural
Los límites de mi lenguaje son los límites de mi conocimiento
MATEMATICA I Lógica Matemticas Prof Rubén Millán
GEOMETRIA.
TPPSFCálculo de Construcciones Inductivas Cálculo de Construcciones Inductivas Parte I: Inducción y Recursión.
EL MÉTODO CIENTÍFICO.
MATEMATICAS COMPETENCIAS MATEMATICAS
TPPSFAsistentes para programadores Asistentes de Pruebas para Programadores Cálculo de Construcciones.
TPPSFCálculo de Construcciones Inductivas Cálculo de Construcciones Inductivas II - Inversión.
1 Compilación, pereza y expresiones let(rec) 2 Compilando un programa Describiremos un compilador para la máquina minimal usando un conjunto de esquemas.
Variables estadísticas bidimensionales
1. Asistentes de Pruebas para Lógicos y Matemáticos I
LAURA VELAZQUEZ MORELOS. Un postulado es una proposición que no es evidente por sí misma ni está demostrada, pero que se acepta ya que no existe otro.
El razonamiento: La lógica
Lógica.
Es un sistema lógico deductivo… Ver masVer mas Proviene del griego theorein (“observar”)… Ver masVer mas Es el planteamiento de un marco teórico… Ver masVer.
 Tesis  (del griego θέσις thésis 'Establecimiento, proposición, colocación', aquí en el sentido de 'lo propuesto, lo afirmado, lo que se propone'; originalmente.
MÉTODOS DE DEDUCCIÓN Rodrigo Jurado, MA.
¿QUE ES EL MÉTODO CIENTÍFICO?
MÉTODOS DE DEDUCCIÓN (Partes I & II)
ADQUISICIÓN DEL CONOCIMIENTO
MODELOS DE RAZONAMIENTO.
METODO INDUCTIVO Inducción: Es un modo de razonar que nos lleva a: De lo particular a lo general. De una parte a un todo. Inducir es ir más allá de.
Abril CV11 MATEMÁTICAS DISCRETAS MARTES 20:30 – 22:00 MIERCOLES 17:00 – 19:00 JUEVES 16:30 – 17:30 M. en C. José del Carmen.
Variables estadísticas bidimensionales
Unidad 6: Lógica Filosofía I. 1 Unidad 6 Lógica 6.1 Noción, objeto y clases de lógica Nociones y clases Inferencia Formal Clases TradicionalFormal Enunciados.
¿Qué es la ciencia? La ciencia como actividad —como investigación— pertenece a la vida social; en cuanto se la aplica al mejoramiento de nuestro medio.
Aspectos generales de la investigación educativa en el SNIT
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
Teorema de Gödel.
Especificación del Problema Partimos del hecho de un programador no puede resolver un problema que no entiende. Por esta razón, la primera etapa en todo.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Principios lógicos Los “principios lógicos” constituyen las verdades primeras, “evidentes” por sí mismas, a partir de las cuales se construye todo el edificio.
Transcripción de la presentación:

InCo 2004CFPTT Programación de Pruebas Isomorfismo de Curry-Howard

InCo 2004CFPTT Construcción de Pruebas en Coq ¿Qué estamos haciendo cuando probamos un teorema en Coq?  Construimos un objeto, que es la prueba del teorema ¿En qué lenguaje está escrita esa prueba?  En Cálculo Lambda!!!!  Cada enunciado lógico se corresponde con un tipo  Cada prueba es un objeto del tipo correspondiente.

InCo 2004CFPTT Isomorfismo de Curry-Howard Identificación de proposiciones con tipos P : Prop pensamos a P como el tipo cuyos objetos son las pruebas de P Identificación de pruebas con objetos a: P significa que a es una prueba de P

InCo 2004CFPTT Cálculo Proposicional Minimal Deducción Natural Proposiciones atómicas y de la forma  Juicios de la forma:  |-  “  se deduce a partir del conjunto de hipótesis  ”  =[    n ]  |-  ass  |-   |-  II  |-   |-   |-  EE Reglas:

InCo 2004CFPTT Deducción Natural en Coq [    n ] |-  lo vemos escrito: H 1 :    H n :  n   |-  ass corresponde a Assumption  |-   |-  II corresponde a Intro  |-   |-   |-  EE corresponde a Apply o Cut (dependiendo de si   está o no en 

InCo 2004CFPTT Cálculo simplemente tipado sistema de tipos Juicios de la forma:  |- e:  “la expresión e tiene tipo  bajo el contexto  ”  =[x 1 :    x n :  n ]  x:  |- x:   |- x.e:   x:  |- e:   |- (e 1 e 2 ):   |- e 1 :   |- e 2 :  ctx abs app Reglas:

InCo 2004CFPTT comparemos... Deducción Natural  |-   |-   |-   |-   |-   |-  Cálculo  x:  |- x:   |- x.e:   x:  |- e:   |- (e 1 e 2 ):   |- e 1 :   |- e 2 :  ass II EE ctx abs app

InCo 2004CFPTT Más similaridades: Reducciones  |-   |-   |-   |-  II EE  |- a:  |- x.e:   x:  |- e:   |- ( x.e a):  abs app Deducción Natural Cálculo  |- a:  x:  |- e:   |- ( x.e a)=e[a/x] :    |-   |-   |-  cut

InCo 2004CFPTT Isomorfismo de Curry-Howard Un poco de historia: En 1958 H. B. Curry observó que los axiomas del cálculo proposicional   y  se correspondían con los tipos de los combinadores S,K e I En 1965 W. Tait descubrió una correspondencia entre la eliminación de lemas en pruebas (cut- elimination) y la  -reducción en el cálculo  En 1969 W. A. Howard desarrolla una noción de construcción adecuada para representar las pruebas de la lógica intuicionista.

InCo 2004CFPTT Cálculo de Predicados Minimal Deducción Natural Proposiciones atómicas y de la forma  x  A  Juicios de la forma:  |-  “  se deduce a partir del conjunto de hipótesis y objetos  ”  =[x 1  A   x m  A m ]  [    n ]  |-  x  A   x  A |-  II  |-  (a)  |-  x  A   |- a  A EE Reglas: ass,  I,  E más:

InCo 2004CFPTT En Coq... [x 1 : A   x m :A m ]  [    n ] |-  lo vemos escrito x 1 :A 1  x m :A m H 1 :    H n :  n  corresponde a Intro x  |-  x  A   x  A |-  II corresponde a Apply  |-  a/x]  |-  x  A   |- a  A EE

InCo 2004CFPTT Cálculo con tipos dependientes sistema de tipos Juicios de la forma:  |- e:  “la expresión e tiene tipo  bajo el contexto  ”  =[x 1 :    x n :  n ]  |- x .e:  x:   x:  |- e:   |- (e a):  [a/x]  |- e:  x:  |- a:  abs app Reglas: ctx más:

InCo 2004CFPTT comparemos otra vez... Deducción Natural Cálculo  |-  x   x  A |-   |-  [a/x]  |-  x  A   |- a  A II EE  |- x .e:  x:   x:  |- e:   |- (e a):  [a/x]  |- e:  x:  |- a:  abs app

InCo 2004CFPTT Observaciones sobre los productos La regla del producto nos sirve para representar tres tipos de funciones  |-  x:  : Set  |-  : Set  x:  |-  : Set prod  |-  x:  : Prop  |-  : Set  x:  |-  : Prop prod  |-  x:  : Prop  |-  : Prop  x:  |-  : Prop prod [x:nat]x: (x:nat)nat (= nat  nat) [n:nat](diag n): (n:nat)(Mat n n) [x:nat](leS x): (x:nat) (Le x(Sx)) Ax: (x:nat) (x=0)  ~(  y.x=Sy) [H:z=0](Ax z H): (H:z=0) ~(  y.z=Sy) (z=0)  ~(  y.z=Sy)

InCo 2004CFPTT Isomorfismo en Coq  Cuando constuimos una prueba de un enunciado en Coq, estamos construyendo un término del tipo correspondiente al enunciado.  La situación general es de la forma:  Tácticas : constructoras de términos  1 ? 1 :    n ? n :  n

InCo 2004CFPTT Construcción de pruebas en Coq Assumption : corresponde a la prueba H:   H:   ?:   ?:  Intro H : corresponde a la prueba [H:  ] ? 1 donde ? 1 será la prueba de  corresp. a:  H:   ? 1 :  Apply H : corresponde a la prueba (H ? 1 ) donde ? 1 será la prueba de  corresp. a:  H:   ?:   H:   ? 1 : 

InCo 2004CFPTT Construcción de pruebas en Coq (cont.) Cut  : corresponde a la prueba (? 1 ? 2 ) donde ? 1 y ? 2 serán las pruebas de  y  correspondientes a:  ?:   ? 1 :   y  ? 2 :   ?: (x:  )  Intro x : corresponde a la prueba [x:  ] ? 1 donde ? 1 será la prueba de  corresp. a:  x:   ? 1 :  ver que es exactamente la misma explicación que para el caso 

InCo 2004CFPTT Construcción de pruebas en Coq (cont.) Ejemplo:  H:(x:nat)(y:(P x))(Q x y) ?: (Q 0 a) Apply H (H 0 a): (Q 0 a)  0:nat  a:(P 0)  Apply H : corresponde a la prueba (H x 1  x 2  ) Donde  es la sustitución que unifica a  con . Además, x 1  :  1 ... x n  :  n  deberán ser consecuencias de   H : (x 1 :  1 )..(x n :  n )  ?:   x n  :  n   x 1  :  1 ... Coq chequea:

InCo 2004CFPTT Programando Pruebas Los resultados ya probados y las hipótesis pueden pensarse como objetos de ciertos tipos (en general, son funciones) –H1: A  B –Lema2: A Estas funciones pueden aplicarse a argumentos, que a su vez pueden ser pruebas de resultados o a otras hipótesis. De esta forma, podemos utilizar las pruebas como objetos de un lenguaje funcional –(H1 Lema2): B

InCo 2004CFPTT Programando Pruebas Ejemplos H1: A  B H2: A B Exact (H1 H2) Probado!! H1: A  B  C H2: A H3: B C Exact ((H1 H2) H3) Probado!! H1: A H2: A  B H3: B  C C Exact (H3 (H2 H1)) Probado!!

InCo 2004CFPTT Programando Pruebas Ejemplos (cont.) H1: (x:A)(B x) a: A (B a) Exact (H1 a) Probado!! H1: A  (x:B)(C x) H2: A z: B (C z) Exact ((H1 H2) z) Probado!! H1: (x:A) B  C H2: B z: A C Exact ((H1 z) H2) Probado!!

InCo 2004CFPTT Tácticas para ver pruebas  Show Proof: muestra el término correspondiente a la prueba que se está armando  Show Tree: muestra la prueba como en el sistema de Deducción Natural  Print Natural: muestra la prueba hecha en el sistema de Deducción Natural en “lenguaje natural” (se necesita cargar el archivo Natural.vo)