{ [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