{ [A,C:Type]. [n:]. [B:n  Type]. [F:k:n  B[k]  C].
  [ds1,ds2:k:n  dataflow(A;B[k])].
    parallel-dataflow(
    ds1;
    F)  parallel-dataflow(
         ds2;
         F) 
    supposing k:n. ds1 k  ds2 k }

{ Proof }



Definitions occuring in Statement :  dataflow-equiv: d1  d2 parallel-dataflow: parallel-dataflow dataflow: dataflow(A;B) int_seg: {i..j} nat: uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] apply: f a function: x:A  B[x] natural_number: $n universe: Type
Definitions :  uall: [x:A]. B[x] so_apply: x[s] uimplies: b supposing a all: x:A. B[x] dataflow-equiv: d1  d2 member: t  T prop: le: A  B top: Top subtype: S  T squash: T true: True and: P  Q not: A implies: P  Q false: False nat: int_seg: {i..j} lelt: i  j < k guard: {T}
Lemmas :  int_seg_wf dataflow-equiv_wf dataflow_wf nat_wf top_wf map_wf squash_wf true_wf length_wf1 upto_wf select_wf le_wf length-data-stream parallel-data-stream

\mforall{}[A,C:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[B:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[F:k:\mBbbN{}n  {}\mrightarrow{}  B[k]  {}\mrightarrow{}  C].  \mforall{}[ds1,ds2:k:\mBbbN{}n  {}\mrightarrow{}  dataflow(A;B[k])].
    parallel-dataflow(ds1;F)  \mequiv{}  parallel-dataflow(ds2;F)  supposing  \mforall{}k:\mBbbN{}n.  ds1  k  \mequiv{}  ds2  k


Date html generated: 2011_08_10-AM-08_22_21
Last ObjectModification: 2011_06_18-AM-08_32_39

Home Index