# data[].attributes.body
La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa.

# data[].attributes.body
El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos.

# data[].attributes.body
También llamada lógica de enunciados: toma como elemento básico las frases declarativas simples o proposiciones. Su estructura está dada por:

# data[].attributes.body
Una cláusula de Horn es una secuencia de literales que contiene a lo sumo un literal positivo.
Al escribirla en notación de Kowalski tendrá una de estas cuatro formas:

# data[].attributes.body
En Prolog Se escribe primero el consecuente luego el antecdente

# data[].attributes.body
Selection-rule driven Linear resolution for Definite clauses
Es un caso particular de la resolución general, donde:
Los resolventes son siempre objetivos.
Los programas son conjuntos de claúsulas (de Horn) definidas,
i.e., hechos y reglas.
Hay una función de selección que selecciona un átomo del resolvente a quien aplicar resolución.

# data[].attributes.body
Donde la cláusula superior"
C1, es una cláusula de entrada, y cada otra cláusula
Ci+1 es una solución de cuyos padres es la cláusula anterior
Ci. La prueba es una refutación si la última cláusula Cl, es la cláusula vacía.