0
Можно ли частично совместить правило в прологе?Пролог частичное правильное соответствие
a(b) :- k(c),k(d).
a(e) :- k(g),k(d).
Так, зная, что k(d):-true.
это как-то можно получить & е Аргументы B?
Можно ли частично совместить правило в прологе?Пролог частичное правильное соответствие
a(b) :- k(c),k(d).
a(e) :- k(g),k(d).
Так, зная, что k(d):-true.
это как-то можно получить & е Аргументы B?
я, наконец, сделал то, что я хотел, и он идет, как это (swi_prolog), где правило это имя правила для проверки
true_check([_,H,B]):-
call(H)->true;B=..L,true_check(L).
true_check([B]) :-
call(B)->true;false.
possible(Rule):-
current_predicate(rule,Head),
clause(Head,B),
B=..I,
true_check(I),
Head=..[_,Rule].
Не очень понятно, что вы просите. –
Если вы запрашиваете, например, выражение «a (b)», если «k (d)» истинно, но «k (c)» неверно, вы не можете с правилами, которые вы показываете , Однако вы можете создать мета-интерпретатор правил, чтобы определить это. – lurker
@lurker Это именно то, что я хочу; | хорошо, тогда я думаю, что пролог не самый лучший выбор. – molok