| 1476 |      1 | (*  Title:      HOL/ex/insort.thy
 | 
| 969 |      2 |     ID:         $Id$
 | 
| 1476 |      3 |     Author:     Tobias Nipkow
 | 
| 969 |      4 |     Copyright   1994 TU Muenchen
 | 
|  |      5 | 
 | 
|  |      6 | Insertion sort
 | 
|  |      7 | *)
 | 
|  |      8 | 
 | 
|  |      9 | InSort  =  Sorting +
 | 
|  |     10 | 
 | 
|  |     11 | consts
 | 
| 1376 |     12 |   ins :: [['a,'a]=>bool, 'a, 'a list] => 'a list
 | 
|  |     13 |   insort :: [['a,'a]=>bool, 'a list] => 'a list
 | 
| 969 |     14 | 
 | 
| 5184 |     15 | primrec
 | 
| 8422 |     16 |   "ins le x [] = [x]"
 | 
|  |     17 |   "ins le x (y#ys) = (if le x y then (x#y#ys) else y#(ins le x ys))"
 | 
| 5184 |     18 | primrec
 | 
| 8422 |     19 |   "insort le [] = []"
 | 
|  |     20 |   "insort le (x#xs) = ins le x (insort le xs)"
 | 
| 969 |     21 | end
 | 
| 1896 |     22 | 
 |