Prolog/Negação: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Albmont (discussão | contribs)
m copy-and-paste da Wikipedia
 
m remoção (ligações internas); index
Linha 1:
Tipicamente, uma consulta é avaliada como falsa no caso de não estar presente nenhuma regra positiva ou fato que dê suporte ao termo proposto. Isso é chamado [[''hipótese do mundo fechado]]''; assume-se que tudo o que é importante saber está na base de dados, de modo que não existe um mundo exterior que pode possuir evidências desconhecidas. Em outras palavras, se um fato não é conhecido ser verdadeiro (ou falso), assume-se que ele é falso.
 
Uma regra como:
 
legal(X) :- \+ ilegal(X).
 
pode ser avaliada somente pela busca exaustiva de todas as coisas que são ilegais e comparando elas com X, e se nenhum fato ilegal for descoberto ser o mesmo que X, X é legal. Isso é chamado [[w:negação por falha|negação por falha]]. O operador prefixo \+/1 (muitos dialetos do Prolog possuem pré-definido o comando ''not/1'') usado acima implementa a negação por falha em compiladores ISO Prolog.
 
[[Categoria:Prolog|{{SUBPAGENAME}}]]