0
私は式から記号を抽出しようとしています。例:私はこれまで何をやったか与えられた式から記号を抽出する
?- 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) :-
と何かを定義しなければならないことを知っています。何らかの形で再帰を使用するか、または指定された数式を「より小さい」数式に分割します。