【发布时间】:2022-01-22 19:18:49
【问题描述】:
根据我的问题here 我有以下序言代码:
:-op(900, xfy, →).
:-op(900, xfy, ⟷).
find_axioms(Specific, BaseSet, Fullfill) :-
findall(X,
( member(X, Specific),
member(X, BaseSet) ),
Fullfill).
我的意见
find_axioms([(peter → anna), (peter → peter)], [(A → A), (B → A) ⟷ (A → B)], Z).
给予:
Z = [peter→peter].
我现在的目标是以这种方式概括它,BaseSet 是一些字典。意味着所有公理都有名称作为键。所以:
find_axioms([(peter → anna), (peter → peter)], axioms{'axiom1':(A → A), 'axiom2':(B → A) ⟷ (A → B)}, Z).
会得到
Z = axioms{'axiom1':(peter l peter)}
最好的方法是什么?
【问题讨论】:
标签: dictionary prolog member