% from Fung/Kowalski paper lamp(X) iff [[X=a]]. battery(X,Y) iff [[X=b, Y=c]]. faulty_lamp(X) iff [[lamp(X), broken(X)], [power_failure(X), not(backup(X))]]. backup(X) iff [[battery(X,Y), not(empty(Y))]]. % Try: % ?- ciff( 'lamp.alp', [faulty_lamp(X)], Answer).