я имею, определяют правило с или оператор, но он возвращает несколько TRUE или FALSE.
isloanaccept(Name,Guarantor,LoanType,LoanAmount,LoanTenure)
:- customer(Name,bank(_),customertype(_),
citizen(Ci),age(Age),credit(C),
income(I),property(_),bankemployee(_)),
Ci == 'malaysian',
Age >= 18,
C > 500,
I > (LoanAmount / LoanTenure) / 12,
isguarantor(Guarantor,Name),
ispersonalloan(LoanType,LoanAmount,LoanTenure);
ishouseloan(LoanType,LoanAmount,LoanTenure);
isbusinessloan(LoanType,LoanAmount,LoanTenure);
iscarloan(LoanType,LoanAmount,LoanTenure).
На самом деле я должен проверить, является ли тип ссуды, выполняют конкретное требование ссуды и объединение с общим правилом.
Другими словами, я должен определить правило выше подобного это.
Ci == 'malaysian', Age >= 18,C > 500,
I > (LoanAmount / LoanTenure) / 12,
isguarantor(Guarantor,Name)
Or with (ispersonalloan(LoanType,LoanAmount,LoanTenure);
ishouseloan(LoanType,LoanAmount,LoanTenure);
isbusinessloan(LoanType,LoanAmount,LoanTenure);
iscarloan(LoanType,LoanAmount,LoanTenur)
Это должно возвратить 1 true, а не несколько оператор в командной строке.
Каждый из или правило возвращает 1 булево значение, которое не является, я хочу, после проверили правило в командную строку. Я должен иметь как это (Общее правило и (Несколько Или Правило)).
Как объединить несколько или правило, которые возвращают 1 булево значение?
Помогите.
Спасибо.