{ [A,B,C:Type]. [ms:A List]. [P:dataflow(A;B)]. [Q:dataflow(B;C)].
    (seq-dataflow(P;Q)*(ms) ~ seq-dataflow(P*(ms);Q*(data-stream(P;ms)))) }

{ Proof }



Definitions occuring in Statement :  seq-dataflow: seq-dataflow(P;Q),  data-stream: data-stream(P;L),  iterate-dataflow: P*(inputs),  dataflow: dataflow(A;B),  uall: [x:A]. B[x],  list: type List,  universe: Type,  sqequal: s ~ t
Definitions :  uall: [x:A]. B[x],  member: t  T,  all: x:A. B[x],  implies: P  Q,  guard: {T},  top: Top,  subtype: S  T,  prop: ,  le: A  B,  not: A,  false: False,  ge: i  j ,  uimplies: b supposing a,  nat: ,  last: last(L),  rev_implies: P  Q,  iff: P  Q,  and: P  Q,  seq-dataflow: seq-dataflow(P;Q),  pi1: fst(t),  pi2: snd(t),  decidable: Dec(P),  or: P  Q,  uiff: uiff(P;Q)
Lemmas :  nat_wf,  length_wf_nat,  top_wf,  length_wf1,  dataflow_wf,  le_wf,  decidable__lt,  nat_properties,  ge_wf,  firstn_decomp,  firstn_all,  firstn_wf,  iterate-dataflow-append,  data-stream-append,  data-stream_wf,  subtype_rel_list,  data-stream-cons,  length_firstn,  iterate-dataflow_wf,  dataflow-ap_wf,  last_wf,  pos_length2,  non_neg_length,  length_cons

\mforall{}[A,B,C:Type].  \mforall{}[ms:A  List].  \mforall{}[P:dataflow(A;B)].  \mforall{}[Q:dataflow(B;C)].
    (seq-dataflow(P;Q)*(ms)  \msim{}  seq-dataflow(P*(ms);Q*(data-stream(P;ms))))


Date html generated: 2011_08_10-AM-08_16_49
Last ObjectModification: 2011_06_18-AM-08_31_11

Home Index