Collect(size v's from X with maximum num[v] such that P[v]) ==
  tr.let b,v,ok = tr in 
      if ok then {b} else {} fi [CollectAccum(for v from class X
                                              do if num[v] increases
                                                      p := <0, tt>
                                                 else p := let n,ok = p 
                                                           in <n + 1
                                                              , ok  P[v]
                                                              >
                                              until ((fst(p) = size)
                                              ((snd(p)))) )]



Definitions occuring in Statement :  es-collect-accum: es-collect-accum(X;x.num[x];init;a,v.f[a; v];a.P[a]) es-filter-image: f[X] eq_int: (i = j) bor: p q band: p  q bnot: b ifthenelse: if b then t else f fi  btrue: tt spreadn: spread3 pi1: fst(t) pi2: snd(t) lambda: x.A[x] spread: spread def pair: <a, b> add: n + m natural_number: $n single-bag: {x} empty-bag: {}
Definitions :  es-filter-image: f[X] lambda: x.A[x] spreadn: spread3 ifthenelse: if b then t else f fi  single-bag: {x} empty-bag: {} es-collect-accum: es-collect-accum(X;x.num[x];init;a,v.f[a; v];a.P[a]) btrue: tt spread: spread def pair: <a, b> add: n + m natural_number: $n band: p  q bor: p q eq_int: (i = j) pi1: fst(t) bnot: b pi2: snd(t)
FDL editor aliases :  es-collect-filter

Collect(size  v's  from  X  with  maximum  num[v]  such  that  P[v])  ==
    \mlambda{}tr.let  b,v,ok  =  tr  in 
            if  ok  then  \{b\}  else  \{\}  fi  [CollectAccum(for  v  from  class  X
                                                                                            do  if  num[v]  increases
                                                                                                            p  :=  ɘ,  tt>
                                                                                                  else  p  :=  let  n,ok  =  p 
                                                                                                                      in  <n  +  1,  ok  \mwedge{}\msubb{}  P[v]>
                                                                                            until  \muparrow{}((fst(p)  =\msubz{}  size)  \mvee{}\msubb{}(\mneg{}\msubb{}(snd(p))))  )]


Date html generated: 2011_08_16-PM-05_28_31
Last ObjectModification: 2011_01_16-PM-08_23_09

Home Index