This exercise looks at sorting in Prolog.
- 
    
Write Prolog clauses that define the predicate sorted(L), which is true if and only if list L is sorted in ascending order.
 - 
    
Write a Prolog definition for the predicate perm(L,M), which is true if and only if L is a permutation of M.
 - 
    
Define sort(L,M) (M is a sorted version of L) using perm and sorted.
 - 
    
Run sort on longer and longer lists until you lose patience. What is the time complexity of your program?
 - 
    
Write a faster sorting algorithm, such as insertion sort or quicksort, in Prolog.
 
      Answer
      Improve This Solution
    
    
  View Answer