Nuprl Definition : simple-bind-nxt
simple-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' ←─ bag-map(λyb.(fst(yb));ybs)
           in let out ←─ ∪yb∈ybs.snd(yb)
              in <<X', ys'>, out>
Definitions occuring in Statement : 
hdf-ap: X(a)
, 
callbyvalueall: callbyvalueall, 
pi1: fst(t)
, 
pi2: snd(t)
, 
lambda: λx.A[x]
, 
spread: spread def, 
pair: <a, b>
, 
bag-combine: ∪x∈bs.f[x]
, 
bag-append: as + bs
, 
bag-map: bag-map(f;bs)
simple-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{}{}  bag-map(\mlambda{}yb.(fst(yb));ybs)
                      in  let  out  \mleftarrow{}{}  \mcup{}yb\mmember{}ybs.snd(yb)
                            in  <<X',  ys'>,  out>
Date html generated:
2015_07_17-AM-08_06_49
Last ObjectModification:
2012_11_23-PM-02_10_00
Home
Index