我正在尝试从公式中提取符号。前任:
?- formula((p v q) & (q v r), U).
U = [p, q, v].
到目前为止我所做的:
simbol_formula([],[]).
simbol_formula(negation X, [X]).
simbol_formula(X or Y, [X,Y]).
simbol_formula(X and Y, [X,Y]).
我相信我所做的是正确但不完整的。我被困住了。它显然适用于简单的公式,但不适用于更复杂的公式。我知道我必须将某些东西定义为simbol_formula(F,U) :-
. 以某种方式使用递归或将给定的公式分解为“较小”的公式。