Computer Aided Formal Reasoning 2005 Martin Hofmann Uebungsblatt 6 Sorting Summary: Computer Aided Formal Reasoning 2005 Martin Hofmann Uebungsblatt 6 Sorting The goal of this exercise is to specify and verify the insertion sort algorithm which intuitively works as follows. To insert an element into an already sorted list you just go along the list until you find the position where the new element belongs. To sort a list you start with the empty list (which is trivially sorted) and then successively insert the elements of your input list. If you have trouble understanding this think of a pile of exam papers you want to sort lexicographically. You put them to your left and to your right you create a sorted pile by moving the exam papers over one at a time and inserting them in the right position. Your task is to prove all the theorems in the following PVS theory. You can use whatever commands you wish. You do not need to do the proofs in order; you do not need to do all of them though this will incur a reduction in marks. insert : THEORY BEGIN t : TYPE IMPORTING list_adt[t] leq : [t,t->boolean] leq_trans : AXIOM Collections: Computer Technologies and Information Sciences