Я новичок в Прологе и хотел начать изучать функциональность [H | T], пытаясь написать префиксную функцию самостоятельно.Функция префикса возвращает все возможные префиксы в список, например, для L = [a, b, c] будут [], [a], [a, b] и [a, b, c].Я запутался в том, как моя собственная функция Пролог могла бы возвращать так много разных решений.У меня есть разделение заголовка и хвоста списка и добавление заголовка в мой новый список, который будет возвращать разные префиксы.Это то, что я имею до сих пор, но я думаю, что я упрощаю и не знаю, как еще рекурсивно назвать это, чтобы получить все различные возможности.
myPrefix([],[]).
myPrefix([H|T],List) :- myPrefix(T, [H|List]).
Я просмотрел множество других ответов, но они просто касаются получения первого элемента из списка, а не перечисления всех возможных префиксов.Любой совет о том, как идти отсюда или более подробное объяснение того, как работает этот головной и хвостовой функционал манипулирования списком, приветствуется.