Solution
CILOG Version 0.12. Copyright 1998, David Poole.
CILOG comes with absolutely no warranty.
All inputs end with a period. Type "help." for help.
cilog: load 'plumbingbuggy.pl'.
CILOG theory plumbingbuggy.pl loaded.
cilog: ask wet(floor).
Answer: wet(floor).
Runtime since last report: 0 ms.
[ok,more,how,help]: how.
wet(floor) <-
1: wet(sink)
2: plugged(sink)
How? [Number,up,retry,ok,prompt,help]: how 1.
wet(sink) <-
1: on(t6)
2: pressurised(p4)
How? [Number,up,retry,ok,prompt,help]: how 2.
pressurised(p4) <-
1: pressurised(hws)
How? [Number,up,retry,ok,prompt,help]: how 1.
pressurised(hws) <-
1: on(t2)
2: pressurised(p2)
How? [Number,up,retry,ok,prompt,help]:
The buggy rule is:
pressurised(hws) <-
on(t2)
pressurised(p2)
as the body is true and the head is false in the intended
interpretation.
David Poole