{ [A,C:Type]. [n:]. [B:n  Type]. [F:k:n  B[k]  C]. [G:Top].
  [as:A List]. [ds:k:n  dataflow(A;B[k])].
    (data-stream(better-parallel-dataflow(
                 1;k.[better-parallel-dataflow(n;ds;F)][k];
                 g.G[g 0]);as) ~ data-stream(better-parallel-dataflow(
                                              n;ds;
                                              s.G[F s]);as)) }

{ Proof }



Definitions occuring in Statement :  better-parallel-dataflow: better-parallel-dataflow,  data-stream: data-stream(P;L),  dataflow: dataflow(A;B),  select: l[i],  int_seg: {i..j},  nat: ,  uall: [x:A]. B[x],  top: Top,  so_apply: x[s],  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  cons: [car / cdr],  nil: [],  list: type List,  natural_number: $n,  universe: Type,  sqequal: s ~ t
Definitions :  so_apply: x[s],  top: Top,  better-parallel-dataflow: better-parallel-dataflow,  member: t  T,  so_lambda: x y.t[x; y],  so_lambda: x.t[x],  all: x:A. B[x],  subtype: S  T,  pi2: snd(t),  pi1: fst(t),  implies: P  Q,  nat: ,  uall: [x:A]. B[x],  so_apply: x[s1;s2]
Lemmas :  parallel-1-rec-dataflow,  eval-parallel-dataflow_wf,  int_seg_wf,  dataflow_wf,  top_wf,  nat_wf,  data-stream-cons

\mforall{}[A,C:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[B:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[F:k:\mBbbN{}n  {}\mrightarrow{}  B[k]  {}\mrightarrow{}  C].  \mforall{}[G:Top].  \mforall{}[as:A  List].
\mforall{}[ds:k:\mBbbN{}n  {}\mrightarrow{}  dataflow(A;B[k])].
    (data-stream(better-parallel-dataflow(
                              1;\mlambda{}k.[better-parallel-dataflow(n;ds;F)][k];
                              \mlambda{}g.G[g  0]);as)  \msim{}  data-stream(better-parallel-dataflow(
                                                                                        n;ds;
                                                                                        \mlambda{}s.G[F  s]);as))


Date html generated: 2011_08_10-AM-08_16_20
Last ObjectModification: 2011_06_18-AM-08_30_56

Home Index