\begin{verbatim} vertex(1). vertex(2). vertex(3). vertex(4). vertex(5). edge(1,2). edge(1,3). edge(2,3). edge(2,4). edge(4,5). edge(5,2). col(a). col(b). col(c). edge(X,Y) :- vertex(X), vertex(Y), edge(Y,X). another_color(V,C) :- vertex(V), col(C), col(D), not eq(C,D), color_of(V,D). color_of(V,C) :- vertex(V), col(C), not another_color(V,C). :- vertex(U), vertex(V), col(C), edge(U,V), color_of(U,C), color_of(V,C). hide vertex(X). hide edge(X,Y). hide col(X). hide another_color(X,Y). \end{verbatim}