{ 
[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