Prolog 程序不存在(序言中不能 运行 规则)

Prolog procedure does not exist (cant run rules in prolog)

我是 Prolog 新手,正在使用 SWISH SWI 在线 PROLOG 网站。 https://swish.swi-prolog.org/ 我正在尝试一个非常基本的程序:

a('jae').
b('lii').
c('jackson').
happy(A):-sings(A).
happy(B):-dances(B).
goToPlay(C):-free(C).

尝试 运行 happy(jae). 出现以下错误

procedure `sings(A)' does not exist
Reachable from:
      happy(A)

请帮我解决这个问题。

如果提交目标

happy(jae).

然后统治

happy(A) :- sings(A).

适用,也就是说下一个要解决的目标是

sings(A).

A = jae.

不幸的是,单参数谓词 sings/1 无处可寻,因此您会得到与另一种编程语言中缺少过程相同的错误。

你必须定义 sings/1.