Я использую SWI пролог и мой код, как это.Я читаю предикат данных из файла, и его счетчик арности может измениться.Как я могу обобщить это.Например, если данные (a1, b1, c1) записываются в файл, как я могу найти решение?Есть ли у вас какие-либо идеи?
> basla:-consult('test.pl'),
> answer(L1,L2,L3,L4,L5),
> list_to_set(L1, X),
>
> write(X).
> answer(L1,L2,L3,L4,L5):-
> findall(First, data(First,_,_,_,_),L1),
> findall(Second, data(_,Second,_,_,_),L2),
> findall(Third, data(_,_,Third,_,_),L3).