color(red).
color(green).
color(blue).
color(yellow).
adjacent(鶴見, 神奈川).
adjacent(神奈川, 西).
adjacent(西, 中).
adjacent(中, 南).
adjacent(南, 港南).
adjacent(港南, 磯子).
adjacent(磯子, 金沢).
adjacent(金沢, 栄).
adjacent(栄, 港南).
adjacent(中, 保土ケ谷).
adjacent(保土ケ谷, 西).
adjacent(保土ケ谷, 旭).
adjacent(旭, 瀬谷).
adjacent(瀬谷, 泉).
adjacent(泉, 戸塚).
adjacent(戸塚, 栄).
adjacent(都筑, 港北).
adjacent(都筑, 青葉).
adjacent(都筑, 緑).
adjacent(港北, 神奈川).
adjacent(緑, 青葉).
adjacent(港北, 鶴見).
adjacent(保土ケ谷, 緑).
coloring([]).
coloring([区-色 | 残り]) :-
color(色),
coloring(残り),
forall(member(隣-色2, 残り),
((adjacent
(区
, 隣
); adjacent
(隣
, 区
)) -> 色 \
= 色
2 ; true)).
print_colors([]).
print_colors([区-色 | 残り]) :-
print_colors(残り).
% ★↓↓↓↓↓↓↓↓ ここが実行される唯一のクエリ ★
:- coloring([
鶴見-A, 神奈川-B, 西-C, 中-D, 南-E, 港南-F,
磯子-G, 金沢-H, 栄-I, 保土ケ谷-J, 旭-K, 瀬谷-L,
泉-M, 戸塚-N, 都筑-O, 港北-P, 緑-Q, 青葉-R
]),
print_colors([
鶴見-A, 神奈川-B, 西-C, 中-D, 南-E, 港南-F,
磯子-G, 金沢-H, 栄-I, 保土ケ谷-J, 旭-K, 瀬谷-L,
泉-M, 戸塚-N, 都筑-O, 港北-P, 緑-Q, 青葉-R
]).
Y29sb3IocmVkKS4KY29sb3IoZ3JlZW4pLgpjb2xvcihibHVlKS4KY29sb3IoeWVsbG93KS4KCmFkamFjZW50KOm2tOimiywg56We5aWI5bedKS4KYWRqYWNlbnQo56We5aWI5bedLCDopb8pLgphZGphY2VudCjopb8sIOS4rSkuCmFkamFjZW50KOS4rSwg5Y2XKS4KYWRqYWNlbnQo5Y2XLCDmuK/ljZcpLgphZGphY2VudCjmuK/ljZcsIOejr+WtkCkuCmFkamFjZW50KOejr+WtkCwg6YeR5rKiKS4KYWRqYWNlbnQo6YeR5rKiLCDmoIQpLgphZGphY2VudCjmoIQsIOa4r+WNlykuCmFkamFjZW50KOS4rSwg5L+d5Zyf44Kx6LC3KS4KYWRqYWNlbnQo5L+d5Zyf44Kx6LC3LCDopb8pLgphZGphY2VudCjkv53lnJ/jgrHosLcsIOaXrSkuCmFkamFjZW50KOaXrSwg54Cs6LC3KS4KYWRqYWNlbnQo54Cs6LC3LCDms4kpLgphZGphY2VudCjms4ksIOaIuOWhmikuCmFkamFjZW50KOaIuOWhmiwg5qCEKS4KYWRqYWNlbnQo6YO9562RLCDmuK/ljJcpLgphZGphY2VudCjpg73nrZEsIOmdkuiRiSkuCmFkamFjZW50KOmDveetkSwg57eRKS4KYWRqYWNlbnQo5riv5YyXLCDnpZ7lpYjlt50pLgphZGphY2VudCjnt5EsIOmdkuiRiSkuCmFkamFjZW50KOa4r+WMlywg6ba06KaLKS4KYWRqYWNlbnQo5L+d5Zyf44Kx6LC3LCDnt5EpLgoKY29sb3JpbmcoW10pLgpjb2xvcmluZyhb5Yy6LeiJsiB8IOaui+OCil0pIDotCiAgICBjb2xvcijoibIpLAogICAgY29sb3Jpbmco5q6L44KKKSwKICAgIGZvcmFsbChtZW1iZXIo6ZqjLeiJsjIsIOaui+OCiiksCiAgICAgICAgICAgKChhZGphY2VudCjljLosIOmaoyk7IGFkamFjZW50KOmaoywg5Yy6KSkgLT4g6ImyIFw9IOiJsjIgOyB0cnVlKSkuCgpwcmludF9jb2xvcnMoW10pLgpwcmludF9jb2xvcnMoW+WMui3oibIgfCDmrovjgopdKSA6LQogICAgd3JpdGUo5Yy6KSwgd3JpdGUoJyAtPiAnKSwgd3JpdGUo6ImyKSwgbmwsCiAgICBwcmludF9jb2xvcnMo5q6L44KKKS4KCiUg4piF4oaT4oaT4oaT4oaT4oaT4oaT4oaT4oaTIOOBk+OBk+OBjOWun+ihjOOBleOCjOOCi+WUr+S4gOOBruOCr+OCqOODqiDimIUKOi0gY29sb3JpbmcoWwogICAgICAgIOm2tOimiy1BLCDnpZ7lpYjlt50tQiwg6KW/LUMsIOS4rS1ELCDljZctRSwg5riv5Y2XLUYsCiAgICAgICAg56Ov5a2QLUcsIOmHkeayoi1ILCDmoIQtSSwg5L+d5Zyf44Kx6LC3LUosIOaXrS1LLCDngKzosLctTCwKICAgICAgICDms4ktTSwg5oi45aGaLU4sIOmDveetkS1PLCDmuK/ljJctUCwg57eRLVEsIOmdkuiRiS1SCiAgICBdKSwKICAgIHdyaXRlKCc06Imy44Gn5aGX44KK5YiG44GR5Y+v6IO9JyksIG5sLAogICAgcHJpbnRfY29sb3JzKFsKICAgICAgICDptrTopostQSwg56We5aWI5bedLUIsIOilvy1DLCDkuK0tRCwg5Y2XLUUsIOa4r+WNly1GLAogICAgICAgIOejr+WtkC1HLCDph5HmsqItSCwg5qCELUksIOS/neWcn+OCseiwty1KLCDml60tSywg54Cs6LC3LUwsCiAgICAgICAg5rOJLU0sIOaIuOWhmi1OLCDpg73nrZEtTywg5riv5YyXLVAsIOe3kS1RLCDpnZLokYktUgogICAgXSkuCg==
Warning: /home/EiFRjy/prog:43:
Goal (directive) failed: user:(coloring([鶴見-_5822,神奈川-_5844,西-_5866,中-_5888,南-_5910,港南-_5932,磯子-_5954,金沢-_5976,栄-_5998,保土ケ谷-_6020,旭-_6042,瀬谷-_6064,泉-_6086,戸塚-_6108,都筑-_6130,港北-_6152,緑-_6174,青葉-_6196]),write('4色で塗り分け可能'),nl,print_colors([鶴見-_5822,神奈川-_5844,西-_5866,中-_5888,南-_5910,港南-_5932,磯子-_5954,金沢-_5976,栄-_5998,保土ケ谷-_6020,旭-_6042,瀬谷-_6064,泉-_6086,戸塚-_6108,都筑-_6130,港北-_6152,緑-_6174,青葉-_6196]))
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
Exception: (3) program ? EOF: exit