Nuprl Definition : cpsquicksort

cpsquicksort(cmp;L;k) ==
  fix((λcpsquicksort,L,k. if null(L)
                         then L
                         else let hd(L) in
                               let L1 filter(λz.0 <cmp x;L) in
                               let L2 filter(λz.(0 =z cmp z);L) in
                               let L3 filter(λz.0 <cmp z;L) in
                               cpsquicksort L1 S1.(cpsquicksort L3 S3.(k (S1 L2 S3)))))
                         fi )) 
  
  k



Definitions occuring in Statement :  hd: hd(l) null: null(as) filter: filter(P;l) append: as bs ifthenelse: if then else fi  lt_int: i <j eq_int: (i =z j) let: let apply: a fix: fix(F) lambda: λx.A[x] natural_number: $n
Definitions occuring in definition :  fix: fix(F) ifthenelse: if then else fi  null: null(as) hd: hd(l) eq_int: (i =z j) let: let filter: filter(P;l) lt_int: i <j natural_number: $n lambda: λx.A[x] apply: a append: as bs
FDL editor aliases :  cpsquicksort

Latex:
cpsquicksort(cmp;L;k)  ==
    fix((\mlambda{}cpsquicksort,L,k.  if  null(L)
                                                  then  k  L
                                                  else  let  x  =  hd(L)  in
                                                              let  L1  =  filter(\mlambda{}z.0  <z  cmp  z  x;L)  in
                                                              let  L2  =  filter(\mlambda{}z.(0  =\msubz{}  cmp  x  z);L)  in
                                                              let  L3  =  filter(\mlambda{}z.0  <z  cmp  x  z;L)  in
                                                              cpsquicksort  L1  (\mlambda{}S1.(cpsquicksort  L3  (\mlambda{}S3.(k  (S1  @  L2  @  S3)))))
                                                  fi  )) 
    L 
    k



Date html generated: 2016_05_15-PM-04_28_55
Last ObjectModification: 2015_09_23-AM-07_48_49

Theory : general


Home Index