Mercury 勉強メモ

関数論理型言語 Mercury を勉強するブログです.

P-99: 1.27 Group the elements of a set into disjoint subsets

P-99: Ninety-Nine Prolog Problemsの問題にMercuryで解答していきます.

a)

["aldo", "beat"]["carla", "david", "evil"]["flip", "gary", "hugo", "ida"]
["aldo", "beat"]["carla", "david", "flip"]["evil", "gary", "hugo", "ida"]
["aldo", "beat"]["carla", "david", "gary"]["evil", "flip", "hugo", "ida"]
["aldo", "beat"]["carla", "david", "hugo"]["evil", "flip", "gary", "ida"]
["aldo", "beat"]["carla", "david", "ida"]["evil", "flip", "gary", "hugo"]
...
["hugo", "ida"]["david", "flip", "gary"]["aldo", "beat", "carla", "evil"]
["hugo", "ida"]["evil", "flip", "gary"]["aldo", "beat", "carla", "david"]

b)

[["aldo", "beat"], ["carla", "david"], ["evil", "flip", "gary", "hugo", "ida"]]
[["aldo", "beat"], ["carla", "evil"], ["david", "flip", "gary", "hugo", "ida"]]
[["aldo", "beat"], ["carla", "flip"], ["david", "evil", "gary", "hugo", "ida"]]
[["aldo", "beat"], ["carla", "gary"], ["david", "evil", "flip", "hugo", "ida"]]
...
[["hugo", "ida"], ["evil", "gary"], ["aldo", "beat", "carla", "david", "flip"]]
[["hugo", "ida"], ["flip", "gary"], ["aldo", "beat", "carla", "david", "evil"]]