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

{ Proof }



Definitions occuring in Statement :  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) dataflow: dataflow(A;B) uall: [x:A]. B[x] so_apply: x[s1;s2] member: t  T function: x:A  B[x] product: x:A  B[x] universe: Type
Definitions :  uall: [x:A]. B[x] member: t  T dataflow: dataflow(A;B) rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) so_apply: x[s1;s2] corec: corec(T.F[T]) ycomb: Y primrec: primrec(n;b;c) top: Top all: x:A. B[x] ifthenelse: if b then t else f fi  eq_int: (i = j) btrue: tt bfalse: ff implies: P  Q prop: ge: i  j  le: A  B not: A false: False bool: unit: Unit iff: P  Q and: P  Q nat: it: guard: {T}
Lemmas :  nat_wf ycomb-unroll eq_int_wf bool_wf iff_weakening_uiff uiff_transitivity assert_wf eqtt_to_assert assert_of_eq_int not_wf bnot_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff nat_properties ge_wf

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


Date html generated: 2011_08_10-AM-08_13_56
Last ObjectModification: 2011_06_18-AM-08_29_38

Home Index