{ [A,C:Type]. [n:]. [B:n  Type]. [ds:k:n  dataflow(A;B[k])].
  [F:k:n  B[k]  C]. [L:A List].
    (data-stream(better-parallel-dataflow(
                 n;ds;
                 F);L)
    = map(i.(F (k.data-stream(ds k;L)[i]));upto(||L||))) }

{ Proof }



Definitions occuring in Statement :  better-parallel-dataflow: better-parallel-dataflow data-stream: data-stream(P;L) dataflow: dataflow(A;B) select: l[i] map: map(f;as) length: ||as|| int_seg: {i..j} nat: uall: [x:A]. B[x] so_apply: x[s] apply: f a lambda: x.A[x] function: x:A  B[x] list: type List natural_number: $n universe: Type equal: s = t upto: upto(n)
Definitions :  uall: [x:A]. B[x] so_apply: x[s] better-parallel-dataflow: better-parallel-dataflow member: t  T parallel-dataflow: parallel-dataflow top: Top all: x:A. B[x] subtype: S  T pi2: snd(t) pi1: fst(t) prop: so_lambda: x y.t[x; y] so_lambda: x.t[x] nat: so_apply: x[s1;s2] guard: {T}
Lemmas :  parallel-data-stream top_wf int_seg_wf dataflow_wf nat_wf eval-parallel-dataflow-property dataflow-out_wf data-stream_wf pi1_wf_top rec-dataflow_wf eval-parallel-dataflow_wf parallel-dataflow_wf dataflow-ap_wf nat_properties data-stream-cons

\mforall{}[A,C:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[B:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[ds:k:\mBbbN{}n  {}\mrightarrow{}  dataflow(A;B[k])].  \mforall{}[F:k:\mBbbN{}n  {}\mrightarrow{}  B[k]  {}\mrightarrow{}  C].
\mforall{}[L:A  List].
    (data-stream(better-parallel-dataflow(
                              n;ds;
                              F);L)
    =  map(\mlambda{}i.(F  (\mlambda{}k.data-stream(ds  k;L)[i]));upto(||L||)))


Date html generated: 2011_08_10-AM-08_16_29
Last ObjectModification: 2011_06_18-AM-08_31_02

Home Index