TPPSFProgramando pruebas - 1 4. Programando Pruebas Isomorfismo de Curry-Howard.

Slides:



Advertisements
Presentaciones similares
TIPOS DE INVESTIGACIÓN
Advertisements

PRUEBAS DE HIPÓTESIS.
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.
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 ( )
Interrogantes para ateos ¿Materia y azar? En el mundo hay más…
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
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
Mario Bunge. La ciencia. Su método y su filosofía. 18ª. reimpr
CAPACIDAD DE SUSTENTAR
Curso de Bioestadística. ANOVA
EL CONOCIMIENTO CIENTIFICO
1 Epistemología REDES ALTERNATIVAS Centro de Mediación y Capacitación.
CONOCIMIENTO DEL PROCESO DE INVESTIGACION
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.
InCo 2004CFPTT Programación de Pruebas Isomorfismo de Curry-Howard.
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.
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.
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 logicos.
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:

TPPSFProgramando pruebas Programando Pruebas Isomorfismo de Curry-Howard

TPPSFProgramando pruebas - 2 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 y su prueba es un objeto de ese tipo.

TPPSFProgramando pruebas - 3 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 (objeto) de P

TPPSFProgramando pruebas - 4 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:

TPPSFProgramando pruebas - 5 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 

TPPSFProgramando pruebas - 6 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:

TPPSFProgramando pruebas - 7 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

TPPSFProgramando pruebas - 8 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

TPPSFProgramando pruebas - 9 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.

TPPSFProgramando pruebas - 10 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:

TPPSFProgramando pruebas - 11 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  A   |- a  A EE

TPPSFProgramando pruebas - 12 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:

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

TPPSFProgramando pruebas - 14 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)

TPPSFProgramando pruebas - 15 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

TPPSFProgramando pruebas - 16 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 : 

TPPSFProgramando pruebas - 17 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 

TPPSFProgramando pruebas - 18 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 . x 1  :  1  y x 2  :  2  deberán ser consecuencias de   H :(x 1 :  1 )(x 2 :  2 )  ?:   x 2  :  2   x 1  :  1  y Coq chequea:

TPPSFProgramando pruebas - 19 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

TPPSFProgramando pruebas - 20 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!!

TPPSFProgramando pruebas - 21 Programando Pruebas Ejemplos (cont.) H1: (x:A)B a: A B Apply (H1 a) Probado!! H1: A  (x:B)C H2: A z: B C Exact ((H1 H2) z) Probado!! H1: (x:A) B  C H2: B z: A C Exact ((H1 z) H2) Probado!!

TPPSFProgramando pruebas - 22 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)