Nuprl Definition : bind-nxt
bind-nxt(Y;p;a) ==
  let X,ys = p 
  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