In this exercise, we will look at sorting in Prolog.
a. Write Prolog clauses that define the predicate sorted (L), which is true if and only if list L is sorted in ascending order.
b. Write a Prolog definition for the predicate perm (L, M), which is true if and only if L is a permutation of M.
c. Define sort (L, M) (M is a sorted version of L) using perm and sorted.
d. Rim sort- on longer and longer lists until you lose patience. What is the time complexity of your program?
e. Write a faster sorting algorithm, such as insertion sort or quick sort in Prolog.