src/HOL/ex/InSort.thy
author paulson
Tue, 23 May 2000 18:08:52 +0200
changeset 8936 a1c426541757
parent 8422 6c6a5410a9bd
child 13159 2af7b94892ce
permissions -rw-r--r--
Now that 0 is overloaded, constant "zero" and its type class "zero" are no longer needed. Also IntRingDefs is redundant

(*  Title:      HOL/ex/insort.thy
    ID:         $Id$
    Author:     Tobias Nipkow
    Copyright   1994 TU Muenchen

Insertion sort
*)

InSort  =  Sorting +

consts
  ins :: [['a,'a]=>bool, 'a, 'a list] => 'a list
  insort :: [['a,'a]=>bool, 'a list] => 'a list

primrec
  "ins le x [] = [x]"
  "ins le x (y#ys) = (if le x y then (x#y#ys) else y#(ins le x ys))"
primrec
  "insort le [] = []"
  "insort le (x#xs) = ins le x (insort le xs)"
end