0

私は次のような事実のリストを持っています

student(mary).
student(john).

など、また

course(math).
course(a).
course(b).

など、そして

took(john,math).
...

学生が卒業できるかどうかを言わなければなりません。

学生を卒業するには、すべてのコースを受講する必要があります。しかし、ルールにすべての用語を書かずに、どうすればこれを言うことができますか?

私が思っていたのは

can_graduate(X) :- took_all_courses(X). 

しかし、すべてのコースを書かずにすべてのコースを受講したルールを説明する方法がわかりません。誰かが私を助けることができますか?

ありがとう。

4

2 に答える 2

0
took_all_courses(Student) :-
  student(Student),
  forall( course(C), took(Student,C) ).
于 2015-09-28T22:42:00.610 に答える