Ich benutze pyDatalog (in Python 2.7). Unter Verwendung einer arithmetischen Funktion wie +
, kann ich auf eine frühere gebundene Variable beziehen:Datalog: Warum wird (X == Falsch) & (Y == nicht (X)) nicht ausgewertet?
>>> (X==1) & (Y==X+1)
[(1, 2)]
Aber ich kann nicht die Booleschen not
Betreiber die gleiche Art und Weise verwenden:
>>> not(False)
True
>>> (X==False) & (Y==not(X))
File "<stdin>", line 1
(X==False) & (Y==not(X))
^
SyntaxError: invalid syntax
>>>
'not' ist ein Schlüsselwort, * nicht * eine Funktion. Das sollte also "Y == nicht X" sein, aber das wird die Sache wahrscheinlich nicht lösen. –
@WillemVanOnsem Ihr Code löst denselben Syntaxfehler aus. Leute bekommen nicht, was hier vorgeht ... – JBernardo