Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRosita Orozco Modificado hace 9 años
1
2. Asistentes de Pruebas para Lógicos y Matemáticos II
2. Asistentes de Pruebas para Lógicos y Matemáticos II. Cálculo de Predicados TPPSF
2
1. Cálculo de predicados - Sintaxis
Términos símbolos de variable pueden ser variables de individuo, predicado o función un símbolo de variable tiene asociado un dominio símbolos de constante símbolos de función Fórmulas variables de predicados (unarios, binarios, etc) conectivos: , , , , ~, cuantificadores: , TPPSF
3
Cálculo de predicados Cálculo de predicados de primer orden:
Cuantificación sobre variables de individuos únicamente : xnat. x=x Cálculo de predicados de orden superior: Cuantificación sobre variables de individuos, función y predicados P ( (P(0) (x (P(x) P(S(x)) ) x P(x) ) f g ( (x f(x)=g(x)) f=g ) TPPSF
4
Cálculo de predicados en Coq
Cada símbolo de variable o constante tiene asociado su dominio y Set es el conjunto de todos los dominios nat : Set (nat es dominio) Z : Set (Z es un dominio) 0 : nat (0 es un elemento del dominio nat) f : natnat (f es un símbolo de función unaria entre naturales) g : nat nat nat (g es un símbolo de función binaria entre naturales) TPPSF
5
Representación de los predicados
Un símbolo de predicado es una función proposicional sobre cierto dominio. La aridad del predicado está dada por la cantidad de argumentos de la función P : natProp (P es un símbolo de predicado unario sobre naturales) Q : nat (nat nat) Prop (Q es un símbolo de predicado binario, entre naturales y funciones de naturales en naturales) TPPSF
6
Cuantificadores Notación: (xU) se escribe en Coq (x:U)
(xU) se escribe en Coq (EX x:U | ) Normas de parentización: El cuantificador universal y el implica asocian a la derecha, y tienen igual precedencia. Son más fuertes que los otros conectivos Ejemplo: (P: natProp) (P 0) ((x:nat) (P x) (P (S x)) )(x:nat) (P x) (f,g :natnat) ((x:nat) (f x)=(g x)) f=g TPPSF
7
Ejemplos Considerando las declaraciones: 0:nat S : natnat
Le : nat nat Prop Min: nat (nat nat) Prop Algunas propiedades: (Le 0 (S 0)) ~ (Le (S 0) 0) (Min (S 0) S) (EX x:nat | (Min x S) (f: nat nat) ((x:nat)(Le 0 (f x))) (Min 0 f) TPPSF
8
Tácticas Cuantificador universal
introducción x: b (x:)b Intro x el identificador x es opcional variantes: Intros, Intros x1,...xn TPPSF
9
Tácticas (II) Cuantificador universal (cont.)
eliminación H: (x1:1) (x2:2)... (xn:n) g b (si g unifica con b con sustitución ) Apply H H: ... a1 a2 ... an TPPSF
10
Tácticas (III) Cuantificador universal (cont.)
eliminación H: (x1:1) (x2:2)... (xn:n) g b (si g unifica con b pero Coq no puede resolver la unificacion y es necesario instanciar la hipótesis H con algunos de los valores t1: 1 ... tj: j) Apply (H t1 ... tj) H: ... j+1 j+2 ... an TPPSF
11
Tácticas (IV) Cuantificador existencial
introducción (EX x:U | (x)) (t) Exists t (t debe ser un elemento de U) eliminación H: (EX x:U | (x)) b H: (EX x :U | (x)) (y: U) (y) b Elim H (y será una variable nueva que no ocurre b) TPPSF
12
2. Cálculo de predicados con igualdad
reflexividad t=t Reflexivity Probado! simetría t=u u=t Symmetry transitividad t=w w=u t=u Transitivity w TPPSF
13
Reescritura H: a=b H: a=b [b/a] Rewrite H
Reescribe todas las las ocurrencias de a por b En general: Rewrite term si term es un término del contexto con tipo a=b Variantes: Rewrite term in H1 Rewrite term, Rewrite term in H TPPSF
14
Reescritura (cont.) Replace a with b [a/b] a=b o bien:
(cuando a=b se prueba trivialmente) TPPSF
15
Reescritura (cont.) H: a=b
Reescritura condicional H: a=b (a, ..., a[j1] ,...a,... a[j2] ...a,... a[jk] ,...a) Pattern j1 ... jk in a. Rewrite H. H: a=b (a, ..., b ,...a,... b ...a,... b ,...a) TPPSF
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.