{ 
[A,B,M:Type]. 
[P:dataflow(M;bag(A))]. 
[Q:A 
 dataflow(M;bag(B))].
    (bind-dataflow(P;a.Q[a]) 
 dataflow(M;bag(B))) }
{ Proof }
Definitions occuring in Statement : 
bind-dataflow: bind-dataflow(P;a.Q[a]), 
dataflow: dataflow(A;B), 
uall:
[x:A]. B[x], 
so_apply: x[s], 
member: t 
 T, 
function: x:A 
 B[x], 
universe: Type, 
bag: bag(T)
Definitions : 
empty-bag: {}, 
lambda:
x.A[x], 
so_lambda: 
x.t[x], 
bind-dataflow-aux: bind-dataflow-aux(P;dfs;a.Q[a]), 
all:
x:A. B[x], 
axiom: Ax, 
apply: f a, 
so_apply: x[s], 
bind-dataflow: bind-dataflow(P;a.Q[a]), 
universe: Type, 
uall:
[x:A]. B[x], 
dataflow: dataflow(A;B), 
bag: bag(T), 
function: x:A 
 B[x], 
isect:
x:A. B[x], 
equal: s = t, 
member: t 
 T, 
tactic: Error :tactic
Lemmas : 
bind-dataflow-aux_wf, 
empty-bag_wf, 
dataflow_wf, 
bag_wf
\mforall{}[A,B,M:Type].  \mforall{}[P:dataflow(M;bag(A))].  \mforall{}[Q:A  {}\mrightarrow{}  dataflow(M;bag(B))].
    (bind-dataflow(P;a.Q[a])  \mmember{}  dataflow(M;bag(B)))
Date html generated:
2011_08_16-AM-09_49_37
Last ObjectModification:
2011_05_09-PM-06_25_42
Home
Index