"nicht" - operator oder der negation in Prolog

Hintergrund

Schreiben brauche ich eine relation von Leistung(P) , sieht durch die Liste und entscheidet, ob alle, aber ein element von P ist null.

Hier ist was ich habe:

%I have a relation called zero(P) which decides if every element is zero.

power([H|T]) :- H is not zero,  %The current element is non zero, the tail is all zero.
                zero(T).         
power([0|T]) :- power(T).       %The current element is zero, 
                                %but the tail has a non zero element in it.

Einige Ressourcen empfehlen die Verwendung der cut-operator (!), die Kontrollen backtracking, und ich glaube nicht, dass das ist, was ich Suche.

Habe ich auch in die nicht beweisbare-operator (\+), das scheint zu vertauschen, das Ergebnis (ist nicht beweisbar ist gibt ja), und ich glaube nicht, dass das, was ich will.

Ich fand die Prolog Wörterbuch, aber ich kann nicht herausfinden, was "nicht" bedeutet oder wie es zu benutzen (wie Sie sich vorstellen können, Strg+F findet viele Instanzen von " nicht ").

Frage

Wie kann ich sagen 'H ist nicht null' im prolog?

BEARBEITEN Die Liste ist eine Liste von Ganzzahlen.

InformationsquelleAutor jessicaraygun | 2013-03-05

Schreibe einen Kommentar