En este apartado demostraremos que las expresiones:
[EC. 4.29] : C es consistente sobre T ¤ ("t T) (SB(t) )
[EC. 4.30] : C es k-consistente sobre T ¤ TC(C) « P k · TC(C), para k [0, 1]
definidas en el apartado 4.3.2.6 , son equivalentes entre sí para el valor k=1. Además, la segunda es una generalización de la primera para cualquier k (es decir, toda cláusula consistente es también k-consistente).
Partiendo de la [EC. 4.29] y aplicando la función
a ambos lados de la desigualdad no se altera el sentido de la misma:
El parámetro k toma valores en el intervalo [0, 1], por tanto, se puede introducir como factor en la parte derecha de la desigualdad:
Tomando el sumatorio en las tuplas en que se cumple ("t T) se llega a:
que es exactamente la expresión [EC. 4.30] .
Partiendo de [EC. 4.30] , se puede expresar la cardinalidad escalar en forma de sumatorio, y sustituir el parámetro k = 1:
Supongamos ahora que el conjunto T se parte en dos subconjuntos del siguiente modo:
en ese caso, la condición anterior queda:
que sólo puede cumplirse cuando T2 es el conjunto vacío. Por tanto, todas las tuplas de T deben cumplir la expresión [EC. 4.29] :
NumLit(m,u) al número de literales afirmativos distintos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.
Todos los literales candidatos deben tener, al menos, una variable usada, por tanto, si se denomina:
NumLitJ(m,u) al número de literales afirmativos distintos con variables usadas en J términos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.
En el apartado B.2.1 se calcula la expresión de NumLitJ(m,u) que, sustituida en la ecuación anterior, da lugar a la expresión:
anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos; este valor se calcula en el apartado B.2.2
m = grado de un predicado qm asociado a una relación Qm de la base de datos
u = número de variables usadas en una cláusula en construcción
J = número de términos de un literal que son variables usadas (en una cláusula en construcción)
NumLitJ(m,u) = número de literales afirmativos distintos con variables usadas en J términos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.
entonces, el número de literales afirmativos de nombre qm con exáctamente J términos que son variables usadas (aunque pueden aparecer repetidas) será:
anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos; este valor se calcula en el apartado B.2.2
anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos
este valor depende únicamente del tamaño i del literal a considerar (número de términos). Por ejemplo, para una tupla de dos términos sólo son posibles dos combinaciones diferentes de variables nuevas, que son:
(V1, V1) = ambos términos son variables nuevas y, además, iguales entre sí
(V1, V2) = ambos términos son variables nuevas y, además, distintas entre sí
ya que otras combinaciones son repetición de las anteriores:
(V2, V2) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V1)
(V2, V1) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V2)
(V2, V3) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V2)
Por tanto, anynew(2) = 2. Otros valores de anynew(i) se pueden calcular con la expresión siguiente:
donde new(i,j) es el número de diferentes combinaciones de i términos con j variables nuevas (que pueden repetirse):
Sea un conjunto con N tuplas, todas expandidas a partir de una única tupla original. Supongamos que M de ellas satisfacen un literal Li candidato. ¿Con cuántas habrá que evaluar, en media, hasta encontrar una de estas M tuplas?
Por tanto, se puede calcular el número medio de tuplas con las que debe evaluarse Li hasta encontrar una de las M que lo satisfacen:
Sustituyendo los diferentes valores calculados para Pn se llega a la siguiente expresión:
Se puede comprobar que esta ecuación se reduce a la siguiente, sin más que desarrollar el sumatorio y simplificar términos: