次の述語doorがあるとします。これは、2 つの部屋の間にドアがあることを宣言します。
door(office, hall).
door(kitchen, office).
door(hall, "dining room").
door(kitchen, cellar).
door("dining room", kitchen).
そして、ドアの状態を宣言する述語doorstate :
doorstate(hall, office, closed).
doorstate(hall, "dining room", opened).
doorstate("dining room", kitchen, opened).
doorstate(kitchen, office, opened).
doorstate(kitchen, cellar, opened).
2 つの部屋の間のすべてのドアが開いている場合、2 つの部屋の間に通路があります。
2 つの部屋の間にそのような経路があるかどうかを検出するルールを作成するにはどうすればよいでしょうか?