Nuprl Lemma : bind-nextouts2_wf

[M,A,B:Type]. [dfpY:A  DataflowProgram(M)]. [L:bag(a:A  df-program-statetype(dfpY a))]. [m:M].
  bind-nextouts2(L;dfpY;m)  bag(a:A  (df-program-statetype(dfpY a)?)  bag(B)) 
  supposing a:A. (df-program-type(dfpY a) r B)


Proof not projected




Definitions occuring in Statement :  bind-nextouts2: bind-nextouts2(L;dfpY;m),  df-program-statetype: df-program-statetype(dfp),  df-program-type: df-program-type(dfp),  dataflow-program: DataflowProgram(A),  subtype_rel: A r B,  uimplies: b supposing a,  uall: [x:A]. B[x],  all: x:A. B[x],  unit: Unit,  member: t  T,  apply: f a,  function: x:A  B[x],  product: x:A  B[x],  union: left + right,  universe: Type,  bag: bag(T)
Definitions :  so_lambda: x.t[x],  prop: ,  implies: P  Q,  bind-nextouts2: bind-nextouts2(L;dfpY;m),  member: t  T,  all: x:A. B[x],  uimplies: b supposing a,  uall: [x:A]. B[x],  so_apply: x[s]
Lemmas :  dataflow-program_wf,  subtype_rel_wf,  all_wf,  subtype_rel_bag,  df-program-type_wf,  df-program-in-state-ap_wf,  bag_wf,  unit_wf2,  df-program-statetype_wf,  bag-map_wf

\mforall{}[M,A,B:Type].  \mforall{}[dfpY:A  {}\mrightarrow{}  DataflowProgram(M)].  \mforall{}[L:bag(a:A  \mtimes{}  df-program-statetype(dfpY  a))].
\mforall{}[m:M].
    bind-nextouts2(L;dfpY;m)  \mmember{}  bag(a:A  \mtimes{}  (df-program-statetype(dfpY  a)?)  \mtimes{}  bag(B)) 
    supposing  \mforall{}a:A.  (df-program-type(dfpY  a)  \msubseteq{}r  B)


Date html generated: 2012_01_23-PM-12_01_21
Last ObjectModification: 2011_12_16-PM-09_14_39

Home Index