Nuprl Lemma : parallel-df-prog-meaning

[A:{A:'| A} ]. [dfps:DataflowProgram(A) List]. [B:{B:Type| valueall-type(B)} ].
[G:tuple-type(map(dfp.bag(df-program-type(dfp));dfps))  bag(B)].
[halt:tuple-type(map(dfp.(Top?);map(dfp.df-program-type(dfp);dfps)))  ].
  better-parallel-dataflow(
  ||dfps||;k.map(dfp.df-program-meaning(dfp);dfps)[k];
  g.(G tuple(||dfps||;i.g i)))
  = df-program-meaning((G)
                       |dfps|
                           halt: halt) 
  supposing parallel-df-halt(G;map(dfp.df-program-type(dfp);dfps);B;halt)


Proof not projected




Definitions occuring in Statement :  parallel-df-halt: parallel-df-halt(G;L;B;halt),  parallel-df-prog: parallel-df-prog,  df-program-meaning: df-program-meaning(dfp),  df-program-type: df-program-type(dfp),  dataflow-program: DataflowProgram(A),  better-parallel-dataflow: better-parallel-dataflow,  dataflow: dataflow(A;B),  select: l[i],  map: map(f;as),  length: ||as||,  bool: ,  uimplies: b supposing a,  uall: [x:A]. B[x],  top: Top,  squash: T,  unit: Unit,  set: {x:A| B[x]} ,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  union: left + right,  list: type List,  universe: Type,  equal: s = t,  bag: bag(T),  tuple: tuple(n;i.F[i]),  tuple-type: tuple-type(L),  valueall-type: valueall-type(T)
Definitions :  suptype: suptype(S; T),  prop: ,  uimplies: b supposing a,  uall: [x:A]. B[x],  compose: f o g,  subtype: S  T,  so_lambda: x.t[x],  so_lambda: x y.t[x; y],  false: False,  not: A,  le: A  B,  member: t  T,  implies: P  Q,  all: x:A. B[x],  spreadn: spread4,  parallel-df-prog: parallel-df-prog,  df-program-meaning: df-program-meaning(dfp),  better-parallel-dataflow: better-parallel-dataflow,  top: Top,  and: P  Q,  lelt: i  j < k,  pi2: snd(t),  pi1: fst(t),  int_seg: {i..j},  df-program-statetype: df-program-statetype(dfp),  df-program-type: df-program-type(dfp),  has-valueall: has-valueall(a),  bfalse: ff,  btrue: tt,  exposed-bfalse: exposed-bfalse,  ifthenelse: if b then t else f fi ,  true: True,  squash: T,  ycomb: Y,  zip: zip(as;bs),  map: map(f;as),  unit: Unit,  nat: ,  so_apply: x[s1;s2],  rev_implies: P  Q,  iff: P  Q,  cand: A c B,  l_all: (xL.P[x]),  isl: isl(x),  bnot: b,  assert: b,  null-dataflow: null-dataflow(),  dataflow-out: dataflow-out(df;a),  dfp-meaning-in-state: dfp-meaning-in-state(dfp;x),  label: ...$L... t,  df-program-in-state: df-program-in-state(dfp;s),  so_apply: x[s],  dataflow-program: DataflowProgram(A),  uiff: uiff(P;Q),  bool: ,  parallel-df-halt: parallel-df-halt(G;L;B;halt),  strict-bag-function: strict-bag-function(G;L;B;S),  exists: x:A. B[x],  sq_stable: SqStable(P),  has-value: has-value(a),  it: ,  guard: {T}
Lemmas :  squash_wf,  valueall-type_wf,  bool_wf,  parallel-df-halt_wf,  top_wf,  map-map,  dataflow-program_wf,  select-map,  length-map,  tuple_wf,  length_wf_nat,  eval-parallel-dataflow_wf,  unit_wf2,  df-program-statetype_wf,  map_wf,  tuple-type_wf,  select_wf,  df-program-type_wf,  dataflow_wf,  length_wf,  int_seg_wf,  bag_wf,  rec-dataflow-equal,  empty-bag_wf,  int_inc_real,  real-has-value,  less_than_wf,  nat_wf,  equal_wf,  and_wf,  subtype_rel_bag,  subtype_rel_self,  subtype_rel_simple_product,  map_length,  non_neg_length,  lelt_wf,  function-valueall-type,  tuple-type-valueall-type,  assert_of_bnot,  eqff_to_assert,  not_wf,  bnot_wf,  assert_wf,  uiff_transitivity,  it_wf,  eqtt_to_assert,  subtype_rel_sum,  subtype_rel_tuple-type,  ap2-tuple_wf,  zip_wf,  pi2_wf,  pi1_wf_top,  subtype_rel-equal,  true_wf,  df-program-type-valueall-type,  bag-valueall-type,  equal-valueall-type,  df-program-statetype-valueall-type,  union-valueall-type,  product-valueall-type,  map-tuple_wf,  evalall_wf,  df-program-state_wf,  null-dataflow_wf,  better-parallel-dataflow_wf,  length-map-sq,  select-tuple_wf,  dataflow-program-cumulativity,  subtype_rel_list,  dfp-meaning-in-state_wf,  all_wf,  le_wf,  eval-parallel-dataflow-property,  dataflow-out_wf,  l_member_wf,  false_wf,  select-tuple-tuple,  subtype_rel_dep_function,  zip-map,  length-zip-map,  length_zip,  member_wf,  sq_stable__valueall-type,  evalall-equal,  tuple-type-subtype-n-tuple,  tuple_wf_ntuple,  ap2-tuple-as-tuple,  map-tuple-tuple,  dataflow-ap_wf,  l_all_wf2,  map-tuple-as-tuple,  rec-dataflow_wf,  equals-null-dataflow,  evalall-reduce

\mforall{}[A:\{A:\mBbbU{}'|  \mdownarrow{}A\}  ].  \mforall{}[dfps:DataflowProgram(A)  List].  \mforall{}[B:\{B:Type|  valueall-type(B)\}  ].
\mforall{}[G:tuple-type(map(\mlambda{}dfp.bag(df-program-type(dfp));dfps))  {}\mrightarrow{}  bag(B)].
\mforall{}[halt:tuple-type(map(\mlambda{}dfp.(Top?);map(\mlambda{}dfp.df-program-type(dfp);dfps)))  {}\mrightarrow{}  \mBbbB{}].
    better-parallel-dataflow(
    ||dfps||;\mlambda{}k.map(\mlambda{}dfp.df-program-meaning(dfp);dfps)[k];
    \mlambda{}g.(G  tuple(||dfps||;i.g  i)))
    =  df-program-meaning((G)
                                              |dfps|
                                                      halt:  halt) 
    supposing  parallel-df-halt(G;map(\mlambda{}dfp.df-program-type(dfp);dfps);B;halt)


Date html generated: 2012_01_23-AM-11_59_01
Last ObjectModification: 2011_12_14-PM-05_30_30

Home Index