%============================================================================== % Project: SLP - An Interpreter for Super Logic Programs / Static Semantics % Module: testB.txt % Purpose: This is a test for negative reduction % Last Change:13.10.2001 % Language: SLP % Author: Stefan Brass % Email: Stefan.Brass@informatik.uni-giessen.de, sbrass@sis.pitt.edu % Address: Universitaet Giessen, Arndtstr. 2, 35392 Giessen, Germany % Copyright: (c) 2001 by Stefan Brass % Licence: Distributed under the conditions of the GNU Public Licence. %============================================================================== % This is a test for negative reduction. % Unconditional disjunctions used for negative reduction. p. q | r. % This should not be used for negative reduction, since it has a condition: r :- not s. % Conditional facts that are tests for negative reduction: a :- not t. % Should not be deleted b :- not(p & q). % Currently, conjunctive negations are ignored c :- not p, not t. % Should be deleted d :- not q. % Should not be deleted e :- not t, not q, not u, not r. % Should be deleted f :- not(q & r). % Should not be deleted g :- not r. % Should not be deleted ~ (not p, not w). % Should be deleted ~ (not q, not w). % Should not be deleted q :- not r. % Should not be deleted % Avoid positive reduction: s | t | u | w. % So the result should be: % p. % q | r. % r :- not s. % a :- not t. % b :- not(p & q). % d :- not q. % f :- not(q & r). % g :- not r. % :- not q, not w. % q :- not r. % s | t | u | w. $v.