{ [S,A,B:Type]. [next:S  A  (S  B)]. [L:A List]. [s0:S].
    (rec-dataflow(s0;s,m.next[s;m])*(L) 
    ~ rec-dataflow(rec-dataflow-state(s0;s,m.next[s;m];L);s,m.next[s;m])) }

{ Proof }



Definitions occuring in Statement :  iterate-dataflow: P*(inputs),  rec-dataflow-state: rec-dataflow-state(s0;s,m.next[s; m];L),  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]),  uall: [x:A]. B[x],  so_apply: x[s1;s2],  function: x:A  B[x],  product: x:A  B[x],  list: type List,  universe: Type,  sqequal: s ~ t
Definitions :  tactic: Error :tactic,  Unfold: Error :Unfold,  Auto: Error :Auto,  D: Error :D,  CollapseTHEN: Error :CollapseTHEN,  BHyp: Error :BHyp,  universe: Type,  product: x:A  B[x],  function: x:A  B[x],  list: type List,  prop: ,  sqequal: s ~ t,  so_lambda: x.t[x],  uall: [x:A]. B[x],  isect: x:A. B[x],  rec-dataflow-state: rec-dataflow-state(s0;s,m.next[s; m];L),  member: t  T,  equal: s = t,  iter_df_nil: iter_df_nil{iter_df_nil_compseq_tag_def:o}(P),  iter_df_cons: iter_df_cons{iter_df_cons_compseq_tag_def:o}(as; a; P),  rec_dataflow_ap: rec_dataflow_ap_compseq_tag_def,  iterate-dataflow: P*(inputs),  pi1: fst(t),  spread: spread def,  so_apply: x[s1;s2],  apply: f a,  pair: <a, b>,  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]),  list_accum: list_accum(x,a.f[x; a];y;l),  all: x:A. B[x],  subtype_rel: A r B,  so_lambda: x y.t[x; y],  uiff: uiff(P;Q),  and: P  Q,  uimplies: b supposing a,  less_than: a < b,  not: A,  ge: i  j ,  le: A  B,  strong-subtype: strong-subtype(A;B),  implies: P  Q
Lemmas :  uall_wf

\mforall{}[S,A,B:Type].  \mforall{}[next:S  {}\mrightarrow{}  A  {}\mrightarrow{}  (S  \mtimes{}  B)].  \mforall{}[L:A  List].  \mforall{}[s0:S].
    (rec-dataflow(s0;s,m.next[s;m])*(L)  \msim{}  rec-dataflow(rec-dataflow-state(s0;s,m.next[s;m];L);
                                                                                s,m.next[s;m]))


Date html generated: 2011_08_10-AM-08_14_26
Last ObjectModification: 2011_06_16-PM-04_55_05

Home Index