Начален (prefix) списък от елементи на списък – на Пролог
prefix([],L). prefix([X|L1],[X|L2]):- prefix(L1,L2). ?- prefix([a,b,c,d,f],X). %a,b,c,d,f ?- prefix([a,b,c],[a,b,c,d,f]). %yes
Списък завършващ на друг списък (suffix)
suffix(L,L). suffix(L1,[_|L2]):- suffix(L1,L2). ?- suffix([c,d,f],[a,b,c,d,f]). %yes
Можете да проверите дали даден списък е начален или краен на някой.
sublist(L1,L2):-prefix(L3,L2),suffix(L1,L3).