Nuprl Definition : bind-nxt

bind-nxt(Y;p;a) ==
  let X,ys 
  in let X',b X(a) 
     in let ybs ←─ bag-map(λP.P(a);ys bag-map(Y;b))
        in let ys' ←─ [y∈bag-map(λyb.(fst(yb));ybs)|¬bhdf-halted(y)]
           in let out ←─ ∪yb∈ybs.snd(yb)
              in <<X', ys'>out>



Definitions occuring in Statement :  hdf-halted: hdf-halted(P) hdf-ap: X(a) callbyvalueall: callbyvalueall bnot: ¬bb pi1: fst(t) pi2: snd(t) lambda: λx.A[x] spread: spread def pair: <a, b> bag-combine: x∈bs.f[x] bag-filter: [x∈b|p[x]] bag-append: as bs bag-map: bag-map(f;bs)
FDL editor aliases :  bind-nxt
bind-nxt(Y;p;a)  ==
    let  X,ys  =  p 
    in  let  X',b  =  X(a) 
          in  let  ybs  \mleftarrow{}{}  bag-map(\mlambda{}P.P(a);ys  +  bag-map(Y;b))
                in  let  ys'  \mleftarrow{}{}  [y\mmember{}bag-map(\mlambda{}yb.(fst(yb));ybs)|\mneg{}\msubb{}hdf-halted(y)]
                      in  let  out  \mleftarrow{}{}  \mcup{}yb\mmember{}ybs.snd(yb)
                            in  <<X',  ys'>,  out>



Date html generated: 2015_07_17-AM-08_06_47
Last ObjectModification: 2012_11_23-PM-02_09_59

Home Index