1) Si scriva un programma Prolog che definisca la relazione "reverse(L,L1)" (la lista L1 e` l'inversa della lista L). 2) Si scriva un programma Prolog che definisca la relazione "append(L1,L2,L3)" (la lista L3 e` la concatenazione di L1 ed L2). 3) Si scriva un programma Prolog che definisca la relazione "prefix(L1,L2)" (la lista L1 e` un prefisso della lista L2). Cosa succede invocando la query prefix(L1,L2) con L1 variabile libera e L2 instaziata ad una lista? E viceversa? 4) Si scriva un programma Prolog che definisca la relazione "suffix(L1,L2)" (la lista L1 e` un suffisso della lista L2). Cosa succede invocando la query suffix(L1,L2) con L1 variabile libera e L2 instaziata ad una lista? E viceversa? 5) Si scriva un programma Prolog che definisca la relazione "sublist(L1,L2)" (la lista L1 e` una sottolista della lista L2).