lg-remove(g;n) ==
  map(tr.let lbl,in,out = tr in 
          <lbl
          , map(x.if x z n then x else x - 1 fi ;filter(x.((x = n));in))
          , map(x.if x z n then x else x - 1 fi ;
                filter(x.((x = n));out))>;firstn(n;g) @ nth_tl(n + 1;g))



Definitions :  spreadn: spread3 pair: <a, b> map: map(f;as) ifthenelse: if b then t else f fi  le_int: i z j subtract: n - m filter: filter(P;l) lambda: x.A[x] bnot: b eq_int: (i = j) append: as @ bs firstn: firstn(n;as) nth_tl: nth_tl(n;as) add: n + m natural_number: $n
FDL editor aliases :  lg-remove

lg-remove(g;n)  ==
    map(\mlambda{}tr.let  lbl,in,out  =  tr  in 
                    <lbl
                    ,  map(\mlambda{}x.if  x  \mleq{}z  n  then  x  else  x  -  1  fi  ;filter(\mlambda{}x.(\mneg{}\msubb{}(x  =\msubz{}  n));in))
                    ,  map(\mlambda{}x.if  x  \mleq{}z  n  then  x  else  x  -  1  fi  ;filter(\mlambda{}x.(\mneg{}\msubb{}(x  =\msubz{}  n));out))>firstn(n;g)
            @  nth\_tl(n  +  1;g))


Date html generated: 2010_08_27-PM-03_39_55
Last ObjectModification: 2010_05_06-PM-01_53_38

Home Index