ex/InSort.thy
author lcp
Thu, 21 Jul 1994 10:52:00 +0200
changeset 97 3f4976d8c97f
parent 48 21291189b51e
child 195 df6b3bd14dcb
permissions -rw-r--r--
HOL/Makefile: now test depends upon SUBST_FILES HOL/Makefile/SUBST_FILES: changed some filenames to upper case HOL/Makefile: now executes ex/ROOT.ML after Subst/ROOT.ML

(*  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"

rules
  ins_Nil  "ins(f,x,[]) = [x]"
  ins_Cons "ins(f,x,y#ys) =   \
\	       if(f(x,y), x#y#ys, y# ins(f,x,ys))"

  insort_Nil  "insort(f,[]) = []"
  insort_Cons "insort(f,x#xs) = ins(f,x,insort(f,xs))"
end