| author | oheimb | 
| Thu, 24 Sep 1998 15:36:16 +0200 | |
| changeset 5548 | 5cd3396802f5 | 
| parent 1476 | 608483c2122a | 
| child 8414 | 5983668cac15 | 
| permissions | -rw-r--r-- | 
(* Title: HOL/ex/qsort.thy ID: $Id$ Author: Tobias Nipkow Copyright 1994 TU Muenchen Quicksort *) Qsort = Sorting + consts qsort :: [['a,'a] => bool, 'a list] => 'a list rules qsort_Nil "qsort le [] = []" qsort_Cons "qsort le (x#xs) = qsort le [y:xs . ~le x y] @ (x# qsort le [y:xs . le x y])" (* computational induction. The dependence of p on x but not xs is intentional. *) qsort_ind "[| P([]); !!x xs. [| P([y:xs . ~p x y]); P([y:xs . p x y]) |] ==> P(x#xs) |] ==> P(xs)" end