我在 vs code 的 prolog 中遇到错误,请检查

I am getting an error in prolog in vs code please check

这是代码:

dog(rottweiler).  
cat(sphynx).        dog(poodle).  
dog(bulldog).       cat(bengal).  
dog(dobermann).  
cat(himalayan). cat(singapura).  

发现错误是:- 警告:dog/1 的子句不在源文件中 警告:c:/users/dell/desktop/prolog/dog:1 的早期定义 警告:当前谓词:cat/1 警告:使用 :- 不连续 dog/1。抑制这条消息 警告:c:/users/dell/desktop/prolog/dog:4: 警告:cat/1 的子句不在源文件中 警告:c:/users/dell/desktop/prolog/dog:2 的早期定义 警告:当前谓词:dog/1 警告:使用 :- 不连续 cat/1。以抑制此消息。 真

在 Prolog 中,一个 n 元谓词 p,对于 n≥0,由 过程 定义,它由一个或多个 子句 组成,其结论是 p[=35= 形式的术语](a1, ..., an),其中每个 a_i 是一个参数。属于同一过程的子句应按顺序声明,连续

当两个或多个不同过程的子句在源代码中交错出现时,编译器会生成您收到的警告消息。要抑制此类消息,您可以使用 :- discontiguous predicate/arity.

形式的指令

例如:

:- discontiguous dog/1.
:- discontiguous cat/1.

dog(rottweiler).
cat(sphynx).
dog(poodle).
dog(bulldog).
cat(bengal).
dog(dobermann).
cat(himalayan).
cat(singapura).

但是请注意,最好的选择是遵循 Prolog 约定 并按如下方式修改您的代码:

% clauses of the first procedure

dog(rottweiler).
dog(poodle).
dog(bulldog).
dog(dobermann).

% clauses of the second procedure

cat(sphynx).
cat(bengal).
cat(himalayan).
cat(singapura).