rs(R,S,NQ,Q) :- (nand(S,Q,NQ,2) && true), (nand(R,NQ,Q,3) && true). nand(A,B,Out,Delay) :- A = 1,B = 1, length(Delay), Out <- 0 . nand(A,B,Out,Delay) :- A = 1,B = 0, length(Delay), Out <- 1 . nand(A,B,Out,Delay) :- A = 0,B = 1, length(Delay), Out <- 1 . nand(A,B,Out,Delay) :- A = 0,B = 0, length(Delay), Out <- 1 . test :- data(R,S), #rs(R,S,NQ,Q), #write((NQ,Q)). data(R,S) :- length(4), read((R,S)), stable(R),stable(S) && @data(R,S).