Complete Name: 3-Colorability Problem.

Input Predicates: node/1, arc/2

Output Predicates: col/2

Problem Description: Graph 3-colorability is a hard (NP-complete) problem. 
Given a graph G (node names are encoded in the input predicate node/1, 
while arcs are encoded in the binary predicate arc/2), 
a solution to the problem is to encode in col/2 an assignment of 
one of the three colors 'red', 'green' and 'blue', to nodes of G such that 
no couple of nodes X,Y, for which arc(X,Y) holds, has the same color, i.e.
col(X,C) and col(Y,C) both hold, where C is one among {red,green,blue}.

