feedback-df-program(B;F;buf;P;dfps) ==
  Y 
  (
feedback-df-program,F,dfps.
    if 2 <z ||dfps||
      then feedback-df-program 
           (
g.(F 
                (
k.if (k =
 0) then fst(bag-separate(g 0))
                    if (k =
 1) then snd(bag-separate(g 0))
                    else g (k - 1)
                    fi ))) 
           [parallel-df-prog2(...;
x,y.bag-merge(x;y);hd(dfps);hd(tl(dfps))) / 
            tl(tl(dfps))]
    if (||dfps|| =
 2)
      then feedback-df-prog2(B;
x,y.(F (
k.if (k =
 0) then x else y fi ));
              P;buf;hd(dfps);hd(tl(dfps)))
    else feedback-df-prog1(B;
x.(F (
k.x));P;buf;hd(dfps))
    fi ) 
  F 
  dfps
Definitions occuring in Statement : 
feedback-df-prog2: feedback-df-prog2(B;G;P;buf;dfp1;dfp2), 
feedback-df-prog1: feedback-df-prog1(B;G;P;buf;dfp), 
parallel-df-prog2: parallel-df-prog2(B;G;dfp1;dfp2), 
df-program-type: df-program-type(dfp), 
tl: tl(l), 
hd: hd(l), 
length: ||as||, 
eq_int: (i =
 j), 
lt_int: i <z j, 
ifthenelse: if b then t else f fi , 
pi1: fst(t), 
pi2: snd(t), 
ycomb: Y, 
apply: f a, 
lambda:
x.A[x], 
union: left + right, 
cons: [car / cdr], 
subtract: n - m, 
natural_number: $n, 
bag-separate: bag-separate(bs), 
bag-merge: bag-merge(as;bs)
Definitions : 
ycomb: Y, 
lt_int: i <z j, 
pi1: fst(t), 
pi2: snd(t), 
bag-separate: bag-separate(bs), 
subtract: n - m, 
cons: [car / cdr], 
parallel-df-prog2: parallel-df-prog2(B;G;dfp1;dfp2), 
union: left + right, 
df-program-type: df-program-type(dfp), 
bag-merge: bag-merge(as;bs), 
length: ||as||, 
feedback-df-prog2: feedback-df-prog2(B;G;P;buf;dfp1;dfp2), 
ifthenelse: if b then t else f fi , 
eq_int: (i =
 j), 
natural_number: $n, 
tl: tl(l), 
feedback-df-prog1: feedback-df-prog1(B;G;P;buf;dfp), 
apply: f a, 
lambda:
x.A[x], 
hd: hd(l)
FDL editor aliases : 
feedback-df-program
feedback-df-program(B;F;buf;P;dfps)  ==
    Y 
    (\mlambda{}feedback-df-program,F,dfps.
        if  2  <z  ||dfps||
            then  feedback-df-program 
                      (\mlambda{}g.(F 
                                (\mlambda{}k.if  (k  =\msubz{}  0)  then  fst(bag-separate(g  0))
                                        if  (k  =\msubz{}  1)  then  snd(bag-separate(g  0))
                                        else  g  (k  -  1)
                                        fi  ))) 
                      [parallel-df-prog2(df-program-type(hd(dfps))  +  df-program-type(hd(tl(dfps)));\mlambda{}x,y.
                                                                                                                                                                                  ...;
                              hd(dfps);hd(tl(dfps)))  / 
                        tl(tl(dfps))]
        if  (||dfps||  =\msubz{}  2)
            then  feedback-df-prog2(B;\mlambda{}x,y.(F  (\mlambda{}k.if  (k  =\msubz{}  0)  then  x  else  y  fi  ));P;buf;hd(dfps);
                            hd(tl(dfps)))
        else  feedback-df-prog1(B;\mlambda{}x.(F  (\mlambda{}k.x));P;buf;hd(dfps))
        fi  ) 
    F 
    dfps
Date html generated:
2011_08_16-AM-09_45_22
Last ObjectModification:
2011_03_23-AM-10_18_26
Home
Index