El algoritmo DPLL en Coq

June 6, 2017 | Autor: F. Galicia Mendoza | Categoría: Algorithms, Logic, Mathematical Logic, Lógica Matemática, Proof Assistants
Share Embed


Descripción

El algoritmo DPLL en Coq Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on

El algoritmo DPLL en Coq Fernando Abigail Galicia Mendoza

¿Porqu´ e usar Coq?

Facultad de ciencias, UNAM Cuarta escuela de l´ ogica y conjuntos

7 de diciembre de 2015

El algoritmo DPLL en Coq

Forma normal conjuntiva

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

Definici´ on (Forma normal conjuntiva) Una f´ ormula de la l´ ogica proposicional est´ a en forma normal conjuntiva (FNC), si es generada por la siguiente gr´ amatica: At´ omicas a ::= > | ⊥ | p con con p una variable proposicional Literales ` ::= a | ¬a Cla´ usulas C ::= ` | ` ∨ C Formas normales conjuntivas C ::= C | C ∧ C

Proposici´ on Cualquier f´ ormula proposicional ϕ puede transformarse algor´ıtmicamente en una f´ ormula ψ tal que ϕ ≡ ψ y ψ est´ a en FNC, donde ϕ ≡ ψ denota que ϕ y ψ son f´ ormulas l´ ogicamente equivalentes.

El algoritmo DPLL en Coq

Forma normal conjuntiva (Parte 2)

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

Ejemplo • La forma normal conjuntiva de p ↔ q es (¬p ∨ q) ∧ (¬q ∨ p). • La forma normal conjuntiva de p → ((q → r ) → ¬s) es

(¬p ∨ q ∨ ¬s) ∧ (¬p ∨ ¬r ∨ ¬s). • La forma normal conjuntiva de p ↔ (q → r ) es

(¬p ∨ ¬q ∨ r ) ∧ (p ∨ q) ∧ (p ∨ ¬r ). Observemos que esta representaci´ on de la forma normal conjuntiva es ineficiente para m´etodos de resoluci´ on sint´ acticos.

El algoritmo DPLL en Coq Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland

FNC conjuntista De ahora en adelante asumiremos que dada una f´ ormula en FNC ϕ esta no tenga cla´ usulas repetidas, ni literales at´ omicas (>,⊥).

Definici´ on Sea C una una cl´ ausula en FNC, definimos la FNC conjuntista (FNCC) de C como el conjunto de todas sus literales, es decir, si C = `1 ∨ · · · ∨ `n su FNCC es {`1 , . . . , `n }.

Una ejecuci´ on ¿Porqu´ e usar Coq?

Definici´ on Dada ϕ una f´ ormula en FNC, definimos la FNCC de ϕ como el conjunto de todas sus cl´ ausulas en FNCC, es decir, si ϕ = C1 ∧ · · · ∧ Cn su FNCC es {C1 , . . . , Cn }.

Ejemplo • La FNCC de (¬p ∨ q) ∧ (¬q ∨ p) es {{¬p, q}, {¬q, p}}. • La FNCC de (¬p ∨ ¬q ∨ r ) ∧ (p ∨ q) ∧ (p ∨ ¬r ) es

{{¬p, ¬q, r }, {p, q}, {p, ¬r }}.

El algoritmo DPLL en Coq

Satisfacibilidad

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

Definici´ on (El problema de satisfacibilidad) Dada una f´ ormula de la l´ ogica proposicional saber si existe una asignaci´ on de valores para sus variables tales que hagan la f´ ormula satisfacible.

Definici´ on Sea M un conjunto de literales, ϕ una f´ ormula de la l´ ogica proposicional y IM : PROP → {0, 1} una funci´ on de interpretaci´ on, se dice que M es modelo de ϕ si IM (ϕ) = 1.

Ejemplo Veamos que p ↔ (q → r ) es satisfacible. Sea M = {p, ¬q}, por demostrar que IM (p ↔ (q → r )) = 1. Por definici´ on tenemos que, IM (p ↔ (q → r )) = 1 si y solo si IM (p) = IM (q → r ). Observamos que IM (q) = 0, entonces IM (q → r ) = 1. Y se tiene que IM (p) = 1. Por lo que p ↔ (q → r )) es satisfacible.

El algoritmo DPLL en Coq

El algoritmo Davis-Putnam-Logemann-Loveland

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

El algoritmo Davis-Putnam-Logemann-Loveland (DPLL) es un procedimiento que recibe una f´ ormula FNC conjuntista y devuelve un modelo.

Definici´ on Sean ` una literal, ` la literal contraria de `, C una cla´ usula conjuntista, C una f´ ormula en FNCC y M un modelo. Denotemos a M es modelo de C como M ` C. El procedimiento del algoritmo DPLL est´ a dado por las siguientes reglas de inferencia:

El algoritmo DPLL en Coq

El algoritmo Davis-Putnam-Logemann-Loveland (Parte 2)

Fernando Abigail Galicia Mendoza Forma normal conjuntiva

Definici´ on (Parte 2)

FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

M`∅

M ∪ {`} ` C Unit M ` C ∪ {{`}}

Satis

M ∪ {`} ` C ∪ C M ∪ {`} ` C ∪ {{`} ∪ C }

Red

M ∪ {`} ` C Elim M ∪ {`} ` C ∪ {{`}} ∪ C }

M ∪ {`} ` C M ∪ {`} ` C Split M`C

Teorema (Correctud de algoritmo DPLL) Para toda C una f´ ormula en FNCC, existe un modelo M devuelto por el algoritmo DPLL con entrada C tal que M ` C.

El algoritmo DPLL en Coq

Una ejecuci´on

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

Ejemplo Hagamos la ejecuci´ on del algoritmo para la f´ ormula p ↔ q, como se mencion´ o su FNCC es [[¬p, q] , [¬q, p]]. X C [p, q] ` ∅ [¬p, q] ` [[]] X [p, q] ` [[p]] [¬p, ¬q] ` ∅ [¬p, q] ` [[p]] [p, q] ` [[¬q, p]] [¬p, ¬q] ` [[¬q, p]] [¬p, q] ` [[¬q, p]] [p] ` [[q] , [¬q, p]] [¬p] ` [[¬q, p]] [p] ` [[¬p, q] , [¬q, p]] [¬p] ` [[¬p, q] , [¬q, p]] ∅ ` [[¬p, q] , [¬q, p]] Observemos que el algoritmo devolvi´ o tres conjuntos de variables proposicionales, donde [¬p, q] no satisface a la f´ ormula, ya que es propenso a causar inconsistencia, es decir, tener a p y ¬p.

El algoritmo DPLL en Coq

¿Porqu´e usar Coq?

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

• Por la misma definici´ on que brindan sus autores, Coq es un asistente

para generar demostraciones por computadora evitando errores humanos, con esto tenemos una prueba certificada del algoritmo DPLL. • Hay que observar que el paso de demostraciones hechas en papel a

Coq es un paso interesante, ya que en papel se asumen ciertas cosas que en Coq debemos demostrarlas o darlas como axiomas. • Se opt´ o por utilizar listas en lugar de conjuntos debido a que las listas

son un tipo primitivo en los lenguajes de programaci´ on.

El algoritmo DPLL en Coq

Referencias

Fernando Abigail Galicia Mendoza Forma normal conjuntiva FNC conjuntista Satisfacibilidad El algoritmo Davis-PutnamLogemannLoveland Una ejecuci´ on ¿Porqu´ e usar Coq?

St´ephane Lescuyer, Sylvain Conchon. (-). Improving Coq Propositional Reasoning Using a Lazy CNF Conversion Scheme. Noviembre de 2015, de Laboratoire de Recherche En Informatique Sitio web: https:// www.lri.fr/~conchon/publis/lescuyer-conchon-frocos09.pdf Varios. (-). What is Coq?. Noviembre de 2015, de The Coq proof assistant Sitio web: https://coq.inria.fr/

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.