siguiente anterior arriba atrasadelante (solo si previamente se ha ido
atras)

A.5.4. La asunción del mundo cerrado

En Prolog se sigue la asunción del mundo cerrado (Apartado 3.5.1). Recordemos que la lectura lógica de un razonamiento como éste:
Premisa1:
( A X)(ord(X) ==>tab(X))
Premisa2:
ord(el)
Conclusión:
tab(el)

es que si la «Premisa1» y la «Premisa2» son ambas verdaderas entonces la «Conclusión» también lo es, pero si alguna premisa es falsa (o ambas lo son) entonces no se puede decir que la conclusión sea verdadera, pero tampoco se puede asegurar que sea falsa.

Consideremos el programa en Prolog

     tab(X) :- ord(X).  
     ord(el).  
     ?-tab(el).

La «máquina Prolog» dará la respuesta «YES» , y esto es conforme con la lectura lógica correspondiente al caso de que ambas premisas son verdaderas. ¿Cómo expresamos en Prolog que una de las premisas es falsa? Simplemente, no incluyéndola en el programa. Ahora bien, si quitamos del programa la premisa «ord(el).» y hacemos la consulta «?-tab(el).» , la máquina nos responde «NO» , lo que no coincide con el modelo lógico (no debería responder nada, o responder «no sé» ).

En general, siempre que la «máquina Prolog» no puede inferir algo considera que ese algo es falso. Esta asunción del mundo cerrado se puede también formular diciendo «el programa en Prolog incluye todo el conocimiento necesario para inferir todo lo que es verdadero; por tanto, si algo no puede inferirse es que es falso» .


siguiente
anterior arriba atrasadelante (sólo si previamente se ha ido atras)


algunos derechos reservados DIT-ETSIT-UPM
Portada