Nuprl Lemma : bind-df-next3_wf

[M,A,B,S:Type]. [F:S  M  (S?  bag(A))]. [dfpY:A  DataflowProgram(M)]. [m:M].
[s:S?  bag(a:A  (df-program-statetype(dfpY a)?))].
  bind-df-next3(F;dfpY;s;m)  S?  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-df-next3: bind-df-next3(F;dfpY;s;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 :  prop: subtype: S  T top: Top so_lambda: x.t[x] implies: P  Q bfalse: ff btrue: tt let: let outl: outl(x) isl: isl(x) ifthenelse: if b then t else f fi  bind-df-next3: bind-df-next3(F;dfpY;s;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 df-program-type_wf subtype_rel_wf all_wf pi1_wf_top pi2_wf bag-combine_wf unit_wf2 bag_wf let_wf bind-nextouts1_wf df-program-statetype_wf df-program-state_wf bag-map_wf bag-append_wf empty-bag_wf

\mforall{}[M,A,B,S:Type].  \mforall{}[F:S  {}\mrightarrow{}  M  {}\mrightarrow{}  (S?  \mtimes{}  bag(A))].  \mforall{}[dfpY:A  {}\mrightarrow{}  DataflowProgram(M)].  \mforall{}[m:M].
\mforall{}[s:S?  \mtimes{}  bag(a:A  \mtimes{}  (df-program-statetype(dfpY  a)?))].
    bind-df-next3(F;dfpY;s;m)  \mmember{}  S?  \mtimes{}  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_02_03
Last ObjectModification: 2011_12_17-PM-12_40_42

Home Index