View source with raw comments or as raw
    5valid_stream(P,Data) :- 
    6    stream(P,Data), 
    7    not cancelled(P, Data).
    8cancelled(P, Data) :-
    9    stream(P,Data),
   10    stream(P1, Data1),
   11    P1 > P,
   12    incompt(Data, Data1).
   13
   14incompt(p(X), q(X)) :- stream(_,p(X)).
   15incompt(q(X), p(X)) :- stream(_,q(X)).
   16incompt(a(X), b(Y)) :- stream(_,a(X)), stream(_,b(Y)), X > Y.
   17incompt(b(X), a(X)) :- stream(_,b(X)), stream(_,b(Y)), X > Y.
   18incompt(c(X), d(X)) :- stream(_,c(X)).
   19incompt(d(X), c(X)) :- stream(_,d(X)).
   20incompt(e(X), f(X)) :- stream(_,e(X)).
   21incompt(f(X), e(X)) :- stream(_,f(X)).
   22incompt(g(X), h(X)) :- stream(_,g(X)).
   23incompt(h(X), g(X)) :- stream(_,h(X)).
   24
   25stream(1,p(c)).   
   26stream(2,q(b)).   
   27stream(2,q(a)).
   28stream(3,p(a)).
   29stream(1,a(1..100)).
   30stream(2,b(50..100)).
   31stream(3,c(1..10)).
   32stream(4,d(1..10)).
   33stream(5,e(1..10)).
   34stream(6,f(1..10)).
   35stream(7,g(1..10)).
   36stream(8,h(1..10)).
   37
   38
   39#