Мой преподаватель дал нам пример программы, чтобы посмотреть на код, в то время как я понял рекурсивную функцию в целом была эта одна линия я не мог понять смыслЧто делает эта строка кода точно? (Пролог)
all_different([H | T]) :- member(H, T), !, fail.
извлеченный из рекурсивная функция:
all_different([H | T]) :- member(H, T), !, fail.
all_different([_ | T]) :- all_different(T).
all_different([_]).
все, что я понял о нем, что он разбивает список в голове H и хвост T и проверяет, если Н содержится в Т ... Мой вопрос, что это такое, что " !» и «провалиться»?