{ [A,B,C:Type]. [P,Q:dataflow(A;B)]. [f:B  C].
    map-dataflow(P;x.f[x])  map-dataflow(Q;x.f[x]) supposing P  Q }

{ Proof }



Definitions occuring in Statement :  dataflow-equiv: d1  d2,  map-dataflow: map-dataflow(P;b.f[b]),  dataflow: dataflow(A;B),  uimplies: b supposing a,  uall: [x:A]. B[x],  so_apply: x[s],  function: x:A  B[x],  universe: Type
Definitions :  tactic: Error :tactic,  RepeatFor: Error :RepeatFor,  ParallelOp: Error :ParallelOp,  CollapseTHEN: Error :CollapseTHEN,  Auto: Error :Auto,  set: {x:A| B[x]} ,  combination: Combination(n;T),  listp: A List,  isect: x:A. B[x],  member: t  T,  function: x:A  B[x],  uall: [x:A]. B[x],  dataflow: dataflow(A;B),  universe: Type,  equal: s = t,  all: x:A. B[x],  dataflow-equiv: d1  d2,  uimplies: b supposing a,  prop: ,  lambda: x.A[x],  list: type List,  data-stream: data-stream(P;L),  map-dataflow: map-dataflow(P;b.f[b]),  so_apply: x[s],  apply: f a,  axiom: Ax,  subtype_rel: A r B,  uiff: uiff(P;Q),  and: P  Q,  product: x:A  B[x],  less_than: a < b,  not: A,  ge: i  j ,  le: A  B,  corec: corec(T.F[T]),  strong-subtype: strong-subtype(A;B),  so_lambda: x.t[x],  sqequal: s ~ t,  map: map(f;as)
Lemmas :  map-data-stream,  dataflow_wf,  dataflow-equiv_wf,  map_wf

\mforall{}[A,B,C:Type].  \mforall{}[P,Q:dataflow(A;B)].  \mforall{}[f:B  {}\mrightarrow{}  C].
    map-dataflow(P;x.f[x])  \mequiv{}  map-dataflow(Q;x.f[x])  supposing  P  \mequiv{}  Q


Date html generated: 2011_08_10-AM-08_23_07
Last ObjectModification: 2011_06_18-AM-08_32_49

Home Index