Nuprl Definition : accum-matching-tagged-indices
accum-matching-tagged-indices(pre;st) ==
  let P = λp.prefix-match(p;pre) in
   let tg = λx.if pisend?(x) then pisend-var(x)
               if pisend?(pre) then pisend-var(pre)
               else []
               fi  in
   let indices = λpreList.select-tagged-indices(P;tg;preList) in
   let new_pair = λloc,preList. <loc, indices preList> in
   let f = λrslt,loc,preList. [new_pair loc preList / rslt] in
   fpf-accum(c,loc,preList.f c loc preList;[];st)
Definitions occuring in Statement : 
select-tagged-indices: select-tagged-indices(P;tg;L)
, 
prefix-match: prefix-match(p1;p2)
, 
pisend-var: pisend-var(v)
, 
pisend?: pisend?(v)
, 
fpf-accum: fpf-accum(z,a,v.f[z; a; v];y;x)
, 
cons: [a / b]
, 
nil: []
, 
ifthenelse: if b then t else f fi 
, 
let: let, 
apply: f a
, 
lambda: λx.A[x]
, 
pair: <a, b>
FDL editor aliases : 
accum-matching-tagged-indices
Latex:
accum-matching-tagged-indices(pre;st)  ==
    let  P  =  \mlambda{}p.prefix-match(p;pre)  in
      let  tg  =  \mlambda{}x.if  pisend?(x)  then  pisend-var(x)
                              if  pisend?(pre)  then  pisend-var(pre)
                              else  []
                              fi    in
      let  indices  =  \mlambda{}preList.select-tagged-indices(P;tg;preList)  in
      let  new$_{pair}$  =  \mlambda{}loc,preList.  <loc,  indices  preList>  in
      let  f  =  \mlambda{}rslt,loc,preList.  [new$_{pair}$  loc  preList  /  rslt]  in
      fpf-accum(c,loc,preList.f  c  loc  preList;[];st)
Date html generated:
2015_07_23-AM-11_57_48
Last ObjectModification:
2014_05_05-AM-09_30_53
Home
Index