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

{ Proof }



Definitions occuring in Statement :  seq-dataflow: seq-dataflow(P;Q),  data-stream: data-stream(P;L),  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),  length: ||as||,  data-stream: data-stream(P;L),  map: map(f;as),  ycomb: Y,  upto: upto(n),  from-upto: [n, m),  ifthenelse: if b then t else f fi ,  lt_int: i <z j,  btrue: tt,  bfalse: ff,  seq-dataflow: seq-dataflow(P;Q),  pi2: snd(t),  decidable: Dec(P),  or: P  Q,  uiff: uiff(P;Q),  and: 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,  data-stream-append,  data-stream_wf,  subtype_rel_list,  non_neg_length,  length_firstn,  data-stream-cons,  iterate-seq-dataflow,  dataflow-ap_wf,  iterate-dataflow_wf,  last_wf,  pos_length2,  length_cons

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


Date html generated: 2011_08_10-AM-08_16_54
Last ObjectModification: 2011_06_18-AM-08_31_14

Home Index