Cláusula de Horn

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En lógica proposicional, una fórmula lógica es una cláusula de Horn si es una cláusula (disyunción de literales) con, como máximo, un literal positivo. Se llaman así por el lógico Alfred Horn, el primero en señalar la importancia de estas cláusulas en 1951.

Esto es un ejemplo de una cláusula de Horn:

\neg p \or \neg q \vee \cdots \vee \neg t \vee u

Una fórmula como esta también puede reescribirse de forma equivalente como una implicación:

(p \wedge q \wedge \cdots \wedge t) \rightarrow u

Una cláusula de Horn con exactamente un literal positivo es una cláusula "definite"; en álgebra universal las cláusulas "definites" resultan (aparecen) como cuasi-identidades. Una cláusula de Horn sin ningún literal positivo es a veces llamada cláusula objetivo (goal) o consulta (query), especialmente en programación lógica.

Una fórmula de Horn es una cadena textual (string) de cuantificadores existentiales o universales seguidos por una conjunción nde cláusulas de Horn.


Uso en PROLOG[editar]

La sintaxis de una cláusula de Horn en PROLOG tiene el siguiente aspecto:

hija (A, B) :- mujer (A), padre (B, A).

que podría leerse así: "A es hija de B si A es mujer y B es padre de A".

En términos lógicos representa la siguiente implicación:

(mujer(A) \and padre(B, A)) \to hija(A, B)

Por definición de implicación se obtiene la siguiente cláusula de Horn:

\lnot mujer(A) \or \lnot padre(B, A) \or hija(A, B)

Obsérvese que, en PROLOG, el símbolo :- separa la conclusión de las condiciones. En PROLOG, las variables se escriben comenzando por una letra mayúscula. Todas las condiciones deben cumplirse simultáneamente para que la conclusión sea válida; por tanto, la coma (en algunas versiones de PROLOG se sustituye la coma por el símbolo &) que separa las distintas condiciones es equivalente a la conjunción copulativa.

La disyunción, en cambio, no se representa mediante símbolos especiales, sino definiendo reglas nuevas, como la siguiente:

hija (A, B) :- mujer (A), madre (B, A).

que podría leerse así: "A es hija de B si A es mujer y B es madre de A".

Véase también[editar]

Enlaces externos[editar]