Nuprl Definition : accum_split
accum_split(g;x;f;L) ==
  accumulate (with value p and list item v):
   let LL,L2,z = p in 
   if null(L2) then <LL, [v], z>
   if f <L2, z> then <LL @ [<L2, z>], [v], g <L2, z>>
   else <LL, L2 @ [v], z>
   fi 
  over list:
    L
  with starting value:
   <[], [], x>)
Definitions occuring in Statement : 
null: null(as)
, 
append: as @ bs
, 
list_accum: list_accum, 
cons: [a / b]
, 
nil: []
, 
ifthenelse: if b then t else f fi 
, 
spreadn: spread3, 
apply: f a
, 
pair: <a, b>
Definitions occuring in definition : 
list_accum: list_accum, 
spreadn: spread3, 
null: null(as)
, 
ifthenelse: if b then t else f fi 
, 
apply: f a
, 
append: as @ bs
, 
cons: [a / b]
, 
pair: <a, b>
, 
nil: []
FDL editor aliases : 
accum_split
Latex:
accum\_split(g;x;f;L)  ==
    accumulate  (with  value  p  and  list  item  v):
      let  LL,L2,z  =  p  in 
      if  null(L2)  then  <LL,  [v],  z>
      if  f  <L2,  z>  then  <LL  @  [<L2,  z>],  [v],  g  <L2,  z>>
      else  <LL,  L2  @  [v],  z>
      fi 
    over  list:
        L
    with  starting  value:
      <[],  [],  x>)
Date html generated:
2016_05_15-PM-05_53_53
Last ObjectModification:
2015_09_23-AM-08_00_03
Theory : general
Home
Index