Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFelipe Ojeda Jiménez Modificado hace 10 años
2
TPPSFCálculo de Construcciones Inductivas - 1 6. Cálculo de Construcciones Inductivas II - Inversión
3
TPPSFCálculo de Construcciones Inductivas - 2 Parte II : Inversión
4
TPPSFCálculo de Construcciones Inductivas - 3 Principios de análisis de casos para familias y subfamilias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat)(Even n) (Even (S (S n))). Ejemplos: : (Even O). : (Even (S (S 0)) : (Even (S (S (S (S 0))) : (Even (S 0)) e0 (eSS 0 e0) (eSS (S(S 0)) (eSS 0 e0)) Esta proposición es Falsa! ?????
5
TPPSFCálculo de Construcciones Inductivas - 4 Principios de análisis de casos para familias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat) (Even n) (Even (S (S n)) ) Qué casos debemos considerar para demostrar (P n h) por casos sobre h : Even (n) ?? El principio de análisis de casos sería : (P : (n:nat) (Even n) Prop) (P 0 e0) ((x:nat) (H: (Even x)) (P (S (S x)) (eSS x H)) ) (n:nat) (h: (Even n)) (P n h)
6
TPPSFCálculo de Construcciones Inductivas - 5 Principios de análisis de casos para subfamilias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat) (Even n) (Even (S (S n)) ) Qué casos debemos considerar para demostrar (P n h) por casos sobre h : Even (0) ?? El principio de análisis de casos sería : (P : (n:nat) (Even n) Prop) (P 0 e0) (h: (Even 0)) (P 0 h)
7
TPPSFCálculo de Construcciones Inductivas - 6 Principios de análisis de casos para subfamilias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat) (Even n) (Even (S (S n)) ) Qué casos debemos considerar para demostrar (P n h) por casos sobre h : (Even (S (S n)) ) ?? El principio de análisis de casos sería : (P : (n:nat) (Even n) Prop) ((x:nat) (H: (Even x)) (P (S (S x)) (eSS x H)) ) (n:nat) ( h: (Even (S (S n))) ) (P n h)
8
TPPSFCálculo de Construcciones Inductivas - 7 Principios de análisis de casos para subfamilias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat) (Even n) (Even (S (S n)) ) Qué casos debemos considerar para demostrar) (P n h) por casos sobre h : (Even (S (S 0)) ) ?? El principio de análisis de casos sería : (P : (n:nat) (Even n) Prop) (H: (Even 0)) (P (S (S 0)) (eSS x H)) ) ( h: (Even (S (S 0))) ) (P (S (S 0)) h)
9
TPPSFCálculo de Construcciones Inductivas - 8 Principios de análisis de casos para subfamilias Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat) (Even n) (Even (S (S n)) ) Qué casos debemos considerar para demostrar) (P n h) por casos sobre h : (Even (S 0) ) ?? El principio de análisis de casos sería : (P : (n:nat) (Even n) Prop) ( h: (Even (S 0)) ) (P (S 0) h) Este principio dice que de una hipótesis falsa todo se prueba. Es igual al principio de análisis de casos False.
10
TPPSFCálculo de Construcciones Inductivas - 9 Cómo se prueban los principios de análisis de casos para subfamilias? Inductive Even : nat Prop := e0 : (Even O) | eSS : (n:nat)(Even n) (Even (S (S n))). Como Even es el conjunto de todos los elementos que se obtienen por aplicación finita de los constructores, se demuestra que : Even (x) x=0 y (x= (S (S y)) Even (y)) Luego se prueba que (Even (S 0)) False
11
TPPSFCálculo de Construcciones Inductivas - 10 Cómo se prueban los principios de análisis de casos para subfamilias? Inductive I : (x 1 :V 1 ) (x 2 :V 2 ) …(x n :V n ) s:= c1 : (y 1 :T 1 1 )…(y n1 :T 1 n1 ) (I t 1 1 … t 1 n ) | c2 : (y 1 :T 2 1 )…(y n2 :T 2 n2 ) (I t 2 1 … t 2 n )... | ck : (y 1 :T k 1 )…(y nk :T k nk ) (I t k 1 … t k n ) Para obtener el principio asociado a la subfamilia (I u 1 … um) 1) hay que considerar todos los casos : ( y 1 :T 1 1 )…( y n1 :T 1 n1 ) (u 1 =t 1 1 … u n = t 1 n ) ( y 1 :T 2 1 )…( y n1 :T 2 n1 ) (u 1 =t 2 1 … u n = t 2 n )... ( y 1 :T k 1 )…( y n1 :T k n1 ) (u 1 =t k 1 … u n = t k n )
12
TPPSFCálculo de Construcciones Inductivas - 11 Cómo se prueban los principios de análisis de casos para subfamilias? 2) Simplificar todo lo posible aquellas igualdades de la fórmula: ( y 1 :T 1 1 )…( y n1 :T 1 n1 ) (u 1 =t 1 1 … u n = t 1 n ) ( y 1 :T 2 1 )…( y n1 :T 2 n1 ) (u 1 =t 2 1 … u n = t 2 n )... ( y 1 :T k 1 )…( y n1 :T k n1 ) (u 1 =t k 1 … u n = t k n ) La simplificación se realiza iterando mientras sea posible Discriminate e Injectivity (o se Simplify_eq). 3) los casos que restan son un superconjunto de los correspondientes a la subfamilia. Pueden haber casos cuya no pertinencia deba demostrarse de forma no trivial.
13
TPPSFCálculo de Construcciones Inductivas - 12 Principios para subfamilias en Coq - Tácticas de inversión Los prinicipios de análisis de casos para subfamilias se conocen también como principios de inversión (pues «invierten» los constructores). En Coq hay tres familias de tácticas de inversión: 1. Las que derivan y aplican «en línea» esos principios: Inversion, Inversion_clear 2. Las que derivan y almacenan en el contexto los principios: –Derive Inversion, Derive Inversion_clear – Derive Dependent Inversion, Derive Dependant Inversion_clear 3. Las que aplican un principio de inversión disponible en el contexto: - Inversion … using...
14
TPPSFCálculo de Construcciones Inductivas - 13 Pruebas por casos en Coq - Inversión Inversion H H: (I u) (P u) H: (I u) i1 (P t i1 ) H: (I u) ir (P t ir ) Tales que la prueba H: (I u) puede construirse con r constructores de I. Los contextos ij son de la forma x 1 :U j 1... x nj :U j nj donde los tipos U j h son los tipos de los argumentos del j-esimo constructor de I o son igualdades necesarias para que la prueba H sea obtenida con el j- ésimo constructor (surge de simplificar u=t i j ) Inversion : genera los casos correspondientes a una subfamilia...
15
TPPSFCálculo de Construcciones Inductivas - 14 Pruebas por casos en Coq - Inversión Inversion_clear H H: (I u) (P u) H: (I u) i1 (P t i1 ) H: (I u) ir (P t ir ) Inversion_clear : genera los casos correspondientes a una subfamilia como Inversion pero elimina las igualdades inciales de los contextos ij....
16
TPPSFCálculo de Construcciones Inductivas - 15 Inversión - Ejemplos Inversion H H: (Even (S w)) (P w) H: (Even (S w)) x: nat H0: (S x)=w H1: (Even x) (P (S x)) Inversion_clear H H: (Even (S w)) (P w) x: nat H1: (Even x) (P (S x))
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.