node(minnesota). node(wisconsin). node(illinois). node(iowa). node(indiana). node(michigan). node(ohio). arc(minnesota, wisconsin). arc(illinois, iowa). arc(illinois, michigan). arc(illinois, wisconsin). arc(illinois, indiana). arc(indiana, ohio). arc(michigan, indiana). arc(michigan, ohio). arc(michigan, wisconsin). arc(minnesota, iowa). arc(wisconsin, iowa). arc(minnesota, michigan). % guess coloring col(Country, red) v col(Country, green) v col(Country, blue) :- node(Country). % check coloring :- arc(Country1, Country2), col(Country1, CommonColor), col(Country2, CommonColor).