Nuprl Lemma : collect-filter-max-val

[Info:Type]. [es:EO+(Info)]. [A:Type]. [f:A  ]. [X:EClass(A)]. [size:]. [num:A  ]. [P:A  ]. [e:E].
  Collect(size v's from X  with maximum num[v] such that P[v]  return <num[v],n,v> with n = maximum f[v])(e)
  = <num[X(e)], list-max(v.f[v];mapfilter(e.X(e);e'.(num[X(e')] = num[X(e)]);(X)(e)))> 
  supposing e  Collect(size v's from X  with maximum num[v] such that P[v]
                           return <num[v],n,v> with n = maximum f[v])


Proof not projected




Definitions occuring in Statement :  es-collect-filter-max: Collect(size v's from X  with maximum num[v] such that P[v]  return <num[v],n,v> with n = maximum f[v]),  es-interface-predecessors: (X)(e),  eclass-val: X(e),  in-eclass: e  X,  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-E: E,  eq_int: (i = j),  assert: b,  bool: ,  nat_plus: ,  nat: ,  uimplies: b supposing a,  uall: [x:A]. B[x],  so_apply: x[s],  set: {x:A| B[x]} ,  lambda: x.A[x],  function: x:A  B[x],  pair: <a, b>,  product: x:A  B[x],  int: ,  universe: Type,  equal: s = t,  mapfilter: mapfilter(f;P;L),  list-max: list-max(x.f[x];L)
Definitions :  so_lambda: x y.t[x; y],  all: x:A. B[x],  top: Top,  so_lambda: x.t[x],  member: t  T,  so_apply: x[s],  es-collect-filter-max: Collect(size v's from X  with maximum num[v] such that P[v]  return <num[v],n,v> with n = maximum f[v]),  and: P  Q,  ifthenelse: if b then t else f fi ,  btrue: tt,  true: True,  squash: T,  subtype: S  T,  pi2: snd(t),  pi1: fst(t),  assert: b,  prop: ,  so_apply: x[s1;s2],  cand: A c B,  uall: [x:A]. B[x],  uiff: uiff(P;Q),  uimplies: b supposing a,  guard: {T},  sq_type: SQType(T),  sq_stable: SqStable(P),  es-E-interface: E(X),  implies: P  Q,  nat: ,  list-max: list-max(x.f[x];L)
Lemmas :  eclass_wf,  nat_plus_wf,  bool_wf,  es-collect-filter-max_wf,  in-eclass_wf,  event-ordering+_wf,  event-ordering+_inc,  es-E_wf,  isl_wf,  assert_wf,  top_wf,  nat_wf,  es-interface-subtype_rel2,  es-collect-filter-max-aux_wf,  map-class-val,  is-collect-filter-max,  collect-filter-max-aux-val,  and_wf,  bool_subtype_base,  subtype_base_sq,  assert_elim,  outl_wf,  pi1_wf_top,  equal_wf,  es-interface-val_wf2,  sq_stable__assert,  eq_int_wf,  es-interface-predecessors_wf,  es-loc_wf,  Id_wf,  es-interface-top,  es-E-interface_wf,  mapfilter_wf,  list-max_wf,  eclass-val_wf,  pi2_wf,  list-max-aux-property

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[A:Type].  \mforall{}[f:A  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[X:EClass(A)].  \mforall{}[size:\mBbbN{}\msupplus{}].  \mforall{}[num:A  {}\mrightarrow{}  \mBbbN{}].
\mforall{}[P:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[e:E].
    Collect(size  v's  from  X    with  maximum  num[v]  such  that  P[v]
                      return  <num[v],n,v>  with  n  =  maximum  f[v])(e)
    =  <num[X(e)],  list-max(v.f[v];mapfilter(\mlambda{}e.X(e);\mlambda{}e'.(num[X(e')]  =\msubz{}  num[X(e)]);\mleq{}(X)(e)))> 
    supposing  \muparrow{}e  \mmember{}\msubb{}  Collect(size  v's  from  X    with  maximum  num[v]  such  that  P[v]
                                                      return  <num[v],n,v>  with  n  =  maximum  f[v])


Date html generated: 2012_01_23-PM-12_28_02
Last ObjectModification: 2011_12_13-PM-03_03_13

Home Index