src/HOL/ex/Qsort.thy
changeset 8524 f990040535c9
parent 8414 5983668cac15
child 8590 89675b444abe
equal deleted inserted replaced
8523:7ffc94f2f42d 8524:f990040535c9
     8 
     8 
     9 Qsort = Sorting +
     9 Qsort = Sorting +
    10 consts qsort :: "((['a,'a] => bool) * 'a list) => 'a list"
    10 consts qsort :: "((['a,'a] => bool) * 'a list) => 'a list"
    11 
    11 
    12 recdef qsort "measure (size o snd)"
    12 recdef qsort "measure (size o snd)"
    13     simpset "simpset() addsimps [less_Suc_eq_le]"
    13     simpset "simpset() addsimps [length_filter RS le_less_trans]"
    14     
    14     
    15     "qsort(le, [])   = []"
    15     "qsort(le, [])   = []"
    16     
    16     
    17     "qsort(le, x#xs) = qsort(le, [y:xs . ~ le x y])  
    17     "qsort(le, x#xs) = qsort(le, [y:xs . ~ le x y])  
    18                        @ (x # qsort(le, [y:xs . le x y]))"
    18                        @ (x # qsort(le, [y:xs . le x y]))"