{ es:EO. i:Id. s:FSet{E}.
    L:E List
     ((e:E. (e  s  (loc(e) = i)  (e  L)))
      no_repeats(E;L)
      sorted-by(e,e'.e loc e' ;L)) }

{ Proof }



Definitions occuring in Statement :  es-le: e loc e'  es-loc: loc(e) es-eq: es-eq(es) es-E: E event_ordering: EO Id: Id all: x:A. B[x] exists: x:A. B[x] iff: P  Q and: P  Q lambda: x.A[x] list: type List equal: s = t no_repeats: no_repeats(T;l) l_member: (x  l) fset: FSet{s} fset-member: a  s sorted-by: sorted-by(R;L)
Definitions :  so_lambda: x.t[x] member: t  T cand: A c B prop: rev_implies: P  Q implies: P  Q subtype: S  T and: P  Q iff: P  Q exists: x:A. B[x] all: x:A. B[x] true: True ifthenelse: if b then t else f fi  btrue: tt assert: b guard: {T} l_member: (x  l) false: False not: A le: A  B squash: T no_repeats: no_repeats(T;l) so_apply: x[s] sq_type: SQType(T) l_all: (xL.P[x]) l_contains: A  B nat:
Lemmas :  es-loc_wf eq_id_wf fset-filter_wf2 es-le_wf sorted-by_wf no_repeats_wf iff_wf l_member_wf fset-member_wf btrue_wf eq_id_self bool_sq es-eq_wf es-E_wf member-fset-filter Id_wf select_wf length_wf1 Id_sq true_wf squash_wf l_member-settype nat_wf not_wf

\mforall{}es:EO.  \mforall{}i:Id.  \mforall{}s:FSet\{E\}.
    \mexists{}L:E  List
      ((\mforall{}e:E.  (e  \mmember{}  s  \mwedge{}  (loc(e)  =  i)  \mLeftarrow{}{}\mRightarrow{}  (e  \mmember{}  L)))  \mwedge{}  no\_repeats(E;L)  \mwedge{}  sorted-by(\mlambda{}e,e'.e  \mleq{}loc  e'  ;L))


Date html generated: 2011_08_16-AM-11_05_13
Last ObjectModification: 2011_06_18-AM-09_37_44

Home Index