Nuprl Definition : array-model

array-model(AType) ==
  <M-return(array-monad(AType))
  M-bind(array-monad(AType))
  , λv,m. (fst((m (newarray(AType) v))))
  , λi,v,A. <⋅upd(AType) A>
  M-return(array-monad'(AType))
  M-bind(array-monad'(AType))
  , λi,A. (idx(AType) A)
  , λm,A. <A, A>
  M-map(array-monad(AType))
  M-map(array-monad'(AType))
  , λm,A. (fst((m A)))>



Definitions occuring in Statement :  array-monad': array-monad'(AType) array-monad: array-monad(AType) newarray: newarray(AType) upd: upd(AType) idx: idx(AType) M-bind: M-bind(Mnd) M-return: M-return(Mnd) M-map: M-map(mnd) it: pi1: fst(t) apply: a lambda: λx.A[x] pair: <a, b>
Definitions occuring in definition :  newarray: newarray(AType) it: upd: upd(AType) M-return: M-return(Mnd) M-bind: M-bind(Mnd) idx: idx(AType) array-monad: array-monad(AType) pair: <a, b> M-map: M-map(mnd) array-monad': array-monad'(AType) lambda: λx.A[x] pi1: fst(t) apply: a
FDL editor aliases :  array-model

Latex:
array-model(AType)  ==
    <M-return(array-monad(AType))
    ,  M-bind(array-monad(AType))
    ,  \mlambda{}v,m.  (fst((m  (newarray(AType)  v))))
    ,  \mlambda{}i,v,A.  <\mcdot{},  upd(AType)  i  v  A>
    ,  M-return(array-monad'(AType))
    ,  M-bind(array-monad'(AType))
    ,  \mlambda{}i,A.  (idx(AType)  i  A)
    ,  \mlambda{}m,A.  <m  A,  A>
    ,  M-map(array-monad(AType))
    ,  M-map(array-monad'(AType))
    ,  \mlambda{}m,A.  (fst((m  A)))>



Date html generated: 2016_05_15-PM-02_18_09
Last ObjectModification: 2015_09_23-AM-07_38_31

Theory : monads


Home Index