Мне было интересно, как бы я использовал знак подчеркивания дважды, но проверьте, что оба экземпляра этого подчеркивания унифицированы?Подстановочные файлы Prolog
То, что я в принципе нужно что-то, что возвращает истину, если существуют два элемента одного и того же значения в одном отображении ...
member((_,_),[(a,a),(b,a),(c,a)]).
т.е.
Если я использую переменную это делает их унифицированы?
member((A,A),[(a,a),(b,a),(c,a)]).
т.е.
Но он возвращает переменную, а не так.
Мне нужно некоторое просветление.
Подчеркивание не подстановочные. Он используется, чтобы указать, что вам все равно, какое значение оно вообще имеет. С точки зрения удовлетворенности ограничений вы вообще не устанавливаете ограничений для этой переменной. Это означает, что два разных символа подчеркивания могут принимать разные значения. Вы можете легко проверить это: '? - member ((,), [(b, c)]). >> true.' – nedned