在我的序言程序中,它成功地找到了爱德华八世国王出生时的统治者,但由于某种原因也失败了。这是我的一小部分代码:
reigned('Queen Victoria', 1819, 1901).
reigned('King Edward VII', 1901, 1910).
reigned('Queen Elizabeth II', 1952, 2013).
born('King George V', 1865).
born('King Edward VIII', 1894).
born('King George VI', 1895).
born('Prince Henry', 1984).
regentWhenBorn(X, Y) :- reigned(X, Begin, End), born(Y, Born),
Begin =< Born, Born =< End.
这是 prolog 显示的内容:
?- regentWhenBorn(Who, 'King Edward VIII').
Who = 'Queen Victoria' ;
false.
或为不同的人..
?- regentWhenBorn(Who, 'Prince Henry').
Who = 'Queen Elizabeth II' ;
Who = 'Queen Elizabeth II'.
这是什么原因造成的?