Nuprl Lemma : bind-df-program_wf

[M,A,B:Type].
  [dfpX:DataflowProgram(M)]. [dfpY:A  DataflowProgram(M)].
    ((df-program-type(dfpX) r A)  (a:A. (df-program-type(dfpY a) r B))  (dfpX>>= dfpY  DataflowProgram(M))) 
  supposing valueall-type(A)  valueall-type(B)


Proof not projected




Definitions occuring in Statement :  bind-df-program: bind-df-program 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] implies: P  Q and: P  Q member: t  T apply: f a function: x:A  B[x] universe: Type valueall-type: valueall-type(T)
Definitions :  uall: [x:A]. B[x] uimplies: b supposing a and: P  Q dataflow-program: DataflowProgram(A) implies: P  Q df-program-type: df-program-type(dfp) all: x:A. B[x] member: t  T bind-df-program: bind-df-program spreadn: spread4 unit: Unit pi1: fst(t) pi2: snd(t) df-program-statetype: df-program-statetype(dfp) prop: so_lambda: x.t[x] top: Top subtype: S  T squash: T true: True suptype: suptype(S; T) so_apply: x[s] sq_stable: SqStable(P) guard: {T}
Lemmas :  evalall_wf empty-bag_wf bind-df-next_wf all_wf subtype_rel_wf df-program-type_wf dataflow-program_wf and_wf valueall-type_wf unit_wf2 bag_wf pi1_wf_top product-valueall-type union-valueall-type sq_stable__valueall-type equal-valueall-type bag-valueall-type subtype_rel_bag subtype_rel_transitivity subtype_rel_simple_product df-program-statetype_wf subtype_rel_self subtype_rel_product

\mforall{}[M,A,B:Type].
    \mforall{}[dfpX:DataflowProgram(M)].  \mforall{}[dfpY:A  {}\mrightarrow{}  DataflowProgram(M)].
        ((df-program-type(dfpX)  \msubseteq{}r  A)
        {}\mRightarrow{}  (\mforall{}a:A.  (df-program-type(dfpY  a)  \msubseteq{}r  B))
        {}\mRightarrow{}  (dfpX
                >>=  dfpY  \mmember{}  DataflowProgram(M))) 
    supposing  valueall-type(A)  \mwedge{}  valueall-type(B)


Date html generated: 2012_01_23-PM-12_02_39
Last ObjectModification: 2011_12_12-AM-08_25_34

Home Index