Nociones de Lógica

Un programa lógico es un conjunto de axiomas o reglas que definen relaciones entre objetos y definen un conjunto de consecuencias (su sentido).

El arte de programar en lógica consiste en construir programas concisos y elegantes que tengan el sentido deseado.

En programación lógica existen tres elementos:

  1. Hechos
  2. Reglas
  3. Queries

Finalmente todo se puede ver como cláusulas: disjunción de un conjunto finito de literales ($\neg$ = no).

{ $A_1, A_2, \ldots, A_n, \neg B_1, \ldots, \neg B_m$}.

Notación equivalente:

$A_1, A_2, \ldots, A_n \leftarrow B_1, B_2, \ldots, B_m$.

De: $A \leftarrow B \equiv A \vee \neg B$ y Ley de Morgan

$A_1 \vee A_2 \vee \ldots \vee A_n \leftarrow B_1 \wedge B_2 \wedge
\ldots \wedge B_m$

Cláusulas de Horn (a lo más una literal positiva):

$H \leftarrow B_1, \ldots, B_m$


		 $A \leftarrow$ (hecho) 

$A \leftarrow B,C,\ldots$ (regla)
$\leftarrow B,C,\ldots$ (querie)



Subsections

emorales 2012-05-03