我正在尝试定义一个序言谓词数字(X,Y),如果 X 是十进制数 Y 的罗马数字,则它是正确的。
numerals(X,Y) :- X is ('M'), Y>=1000.
numerals(X,Y) :- X is ('CM'), Y>=900.
numerals(X,Y) :- X is ('D'), Y>=500.
numerals(X,Y) :- X is ('CD'), Y>=400.
numerals(X,Y) :- X is ('C'), Y>=100.
.
.
.
.
当我运行我的代码时,我得到一个错误:
?-numerals(M,1001).
ERROR: toplevel: Undefined procedure: numerals/2 (DWIM could not correct goal)