Prior dfp
  init: init ==
  let C,S,s,F = dfp
  in <C
     , S?  bag(C)
     , <inl s , init>
     , s,a.
        evalall(let hs,buf = s 
                in case hs
                   of inl(s1) =>
                    let hs',out = F s1 a 
                    in let buf' = if 0 <z bag-size(out) then out else buf fi  in
                           <if (isl(hs'))  (bag-size(buf') = 0)
                            then inr  
                            else inl <hs', buf'> 
                            fi 
                           , buf
                           >
                    | inr(x) =>
                    <inl s , buf>)>  



Definitions occuring in Statement :  isl: isl(x),  eq_int: (i = j),  band: p  q,  bnot: b,  lt_int: i <z j,  ifthenelse: if b then t else f fi ,  let: let,  it: ,  spreadn: spread4,  unit: Unit,  apply: f a,  lambda: x.A[x],  spread: spread def,  pair: <a, b>,  product: x:A  B[x],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  inr: inr x ,  inl: inl x ,  union: left + right,  natural_number: $n,  bag-size: bag-size(bs),  bag: bag(T),  evalall: evalall(t)
FDL editor aliases :  delay-program

Prior  dfp
    init:  init  ==
    let  C,S,s,F  =  dfp
    in  <C
          ,  S?  \mtimes{}  bag(C)
          ,  <inl  s  ,  init>
          ,  \mlambda{}s,a.
                evalall(let  hs,buf  =  s 
                                in  case  hs
                                      of  inl(s1)  =>
                                        let  hs',out  =  F  s1  a 
                                        in  let  buf'  =  if  0  <z  bag-size(out)  then  out  else  buf  fi    in
                                                      <if  (\mneg{}\msubb{}isl(hs'))  \mwedge{}\msubb{}  (bag-size(buf')  =\msubz{}  0)
                                                        then  inr  \mcdot{} 
                                                        else  inl  <hs',  buf'> 
                                                        fi 
                                                      ,  buf
                                                      >
                                        |  inr(x)  =>
                                        <inl  s  ,  buf>)>   


Date html generated: 2011_08_16-AM-09_46_21
Last ObjectModification: 2011_06_29-PM-03_09_58

Home Index