{ [Info:Type]. [es:EO+(Info)]. [T:Type]. [X:EClass(T)]. [P:E(X)  ].
  [Q:E(X)  ]. [n:]. [e:E]. [i:Id].
    e  X 
    supposing e is first@ i s.t.  q.((q  X)  Q[q])
               (||filter(e.P[e];(X)(q))|| = n) }

{ Proof }



Definitions occuring in Statement :  es-interface-predecessors: (X)(e),  es-E-interface: E(X),  in-eclass: e  X,  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-first-at: e is first@ i s.t.  e.P[e],  es-E: E,  Id: Id,  length: ||as||,  assert: b,  bool: ,  nat_plus: ,  uimplies: b supposing a,  uall: [x:A]. B[x],  prop: ,  so_apply: x[s],  or: P  Q,  and: P  Q,  lambda: x.A[x],  function: x:A  B[x],  int: ,  universe: Type,  equal: s = t,  filter: filter(P;l)
Definitions :  uall: [x:A]. B[x],  es-E-interface: E(X),  prop: ,  uimplies: b supposing a,  or: P  Q,  and: P  Q,  so_apply: x[s],  member: t  T,  implies: P  Q,  all: x:A. B[x],  not: A,  so_lambda: x.t[x],  cand: A c B,  false: False,  so_lambda: x y.t[x; y],  true: True,  iff: P  Q,  squash: T,  rev_implies: P  Q,  top: Top,  subtype: S  T,  exists: x:A. B[x],  guard: {T},  nat_plus: ,  so_apply: x[s1;s2],  length: ||as||,  filter: filter(P;l),  append: as @ bs,  ifthenelse: if b then t else f fi ,  btrue: tt,  bfalse: ff,  sq_type: SQType(T),  reduce: reduce(f;k;as),  ycomb: Y
Lemmas :  es-first-at-implies,  assert_wf,  in-eclass_wf,  length_wf1,  es-E-interface_wf,  Id_wf,  es-loc_wf,  filter_wf,  es-interface-predecessors_wf,  nat_plus_properties,  es-E_wf,  decidable__assert,  not_wf,  assert_witness,  es-first-at_wf,  nat_plus_wf,  bool_wf,  eclass_wf,  event-ordering+_wf,  event-ordering+_inc,  es-interface-top,  bnot_wf,  squash_wf,  true_wf,  es-interface-predecessors-general-step,  bool_cases,  subtype_base_sq,  bool_subtype_base,  iff_weakening_uiff,  eqtt_to_assert,  uiff_transitivity,  eqff_to_assert,  assert_of_bnot,  es-prior-interface_wf,  es-interface-subtype_rel2,  top_wf,  append-nil,  eclass-val_wf2,  es-prior-interface-locl,  es-locl_wf

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[T:Type].  \mforall{}[X:EClass(T)].  \mforall{}[P:E(X)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[Q:E(X)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[n:\mBbbN{}\msupplus{}].
\mforall{}[e:E].  \mforall{}[i:Id].
    \muparrow{}e  \mmember{}\msubb{}  X  supposing  e  is  first@  i  s.t.    q.((\muparrow{}q  \mmember{}\msubb{}  X)  \mwedge{}  Q[q])  \mvee{}  (||filter(\mlambda{}e.P[e];\mleq{}(X)(q))||  =  n)


Date html generated: 2011_08_16-PM-05_24_43
Last ObjectModification: 2011_06_20-AM-01_23_19

Home Index