{ [Info,A:Type].
    Xs:EClass(A) List. es:EO+(Info). e:E.
      (XXs. (e  X)  (first-eclass(Xs)(e) = X(e))) 
      supposing e  first-eclass(Xs) }

{ Proof }



Definitions occuring in Statement :  first-eclass: first-eclass(Xs) eclass-val: X(e) in-eclass: e  X eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-E: E assert: b uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] and: P  Q list: type List universe: Type equal: s = t l_exists: (xL. P[x])
Definitions :  iff: P  Q union: left + right or: P  Q fpf: a:A fp-B[a] tl: tl(l) hd: hd(l) eclass-val: X(e) cons: [car / cdr] strong-subtype: strong-subtype(A;B) record-select: r.x eq_atom: x =a y eq_atom: eq_atom$n(x;y) set: {x:A| B[x]}  dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  not: A less_than: a < b uiff: uiff(P;Q) subtype_rel: A r B l_member: (x  l) top: Top nil: [] first-eclass: first-eclass(Xs) in-eclass: e  X implies: P  Q void: Void false: False true: True decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  prop: subtype: S  T lambda: x.A[x] member: t  T quotient: x,y:A//B[x; y] bag: bag(T) exists: x:A. B[x] product: x:A  B[x] equal: s = t assert: b es-E: E event_ordering: EO event-ordering+: EO+(Info) list: type List eclass: EClass(A[eo; e]) so_lambda: x y.t[x; y] universe: Type uall: [x:A]. B[x] all: x:A. B[x] function: x:A  B[x] uimplies: b supposing a isect: x:A. B[x] l_exists: (xL. P[x]) so_lambda: x.t[x] and: P  Q bag_size_empty: bag_size_empty{bag_size_empty_compseq_tag_def:o} eq_int: (i = j) divides: b | a assoced: a ~ b set_leq: a  b set_lt: a <p b grp_lt: a < b cand: A c B l_contains: A  B inject: Inj(A;B;f) reducible: reducible(a) prime: prime(a) squash: T l_all: (xL.P[x]) fun-connected: y is f*(x) qle: r  s qless: r < s q-rel: q-rel(r;x) sq_exists: x:{A| B[x]} i-finite: i-finite(I) i-closed: i-closed(I) p-outcome: Outcome fset-member: a  s f-subset: xs  ys fset-closed: (s closed under fs) l_disjoint: l_disjoint(T;l1;l2) cs-not-completed: in state s, a has not completed inning i cs-archived: by state s, a archived v in inning i cs-passed: by state s, a passed inning i without archiving a value cs-inning-committed: in state s, inning i has committed v cs-inning-committable: in state s, inning i could commit v  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i cs-precondition: state s may consider v in inning i infix_ap: x f y es-causl: (e < e') es-locl: (e <loc e') es-le: e loc e'  es-causle: e c e' existse-before: e<e'.P[e] existse-le: ee'.P[e] alle-lt: e<e'.P[e] alle-le: ee'.P[e] alle-between1: e[e1,e2).P[e] existse-between1: e[e1,e2).P[e] alle-between2: e[e1,e2].P[e] existse-between2: e[e1,e2].P[e] existse-between3: e(e1,e2].P[e] same-thread: same-thread(es;p;e;e') es-r-immediate-pred: es-r-immediate-pred(es;R;e';e) apply: f a es-fset-loc: i  locs(s) decidable: Dec(P) es-E-interface: E(X) fpf-dom: x  dom(f) atom: Atom es-base-E: es-base-E(es) token: "$token" rev_implies: P  Q bool: pair: <a, b> nat: CollapseTHEN: Error :CollapseTHEN,  tactic: Error :tactic,  real: grp_car: |g| null: null(as) set_blt: a < b grp_blt: a < b dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) deq-member: deq-member(eq;x;L) deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_id: a = b eq_lnk: a = b es-eq-E: e = e' es-bless: e <loc e' es-ble: e loc e' bnot: b bimplies: p  q band: p  q bor: p q int: bag-size: bag-size(bs) natural_number: $n bag-only: only(bs) guard: {T} sq_type: SQType(T) list_accum: list_accum(x,a.f[x; a];y;l) lt_int: i <z j le_int: i z j bfalse: ff limited-type: LimitedType btrue: tt unit: Unit Auto: Error :Auto,  D: Error :D,  es-before: before(e) es-le-before: loc(e) map: map(f;as) last: last(L) remove-repeats: remove-repeats(eq;L) select: l[i] so_apply: x[s] eq_bool: p =b q SplitOn: Error :SplitOn,  it:
Lemmas :  bool_cases nil_member l_member_subtype subtype_base_sq bool_wf true_wf ifthenelse_wf false_wf list_accum_wf bag_wf not_wf bnot_wf not_functionality_wrt_uiff assert_of_bnot uiff_transitivity eqff_to_assert eqtt_to_assert bool_subtype_base eq_int_eq_true bag-only_wf assert_of_eq_int eq_int_wf bag-size_wf nat_wf eclass-val_wf cons_member es-base-E_wf subtype_rel_self decidable__assert first-eclass_wf top_wf in-eclass_wf assert_wf eclass_wf l_member_wf l_exists_wf event-ordering+_inc es-E_wf event-ordering+_wf assert_witness uall_wf member_wf subtype_rel_wf es-interface-top iff_transitivity in-first-eclass l_exists_cons

\mforall{}[Info,A:Type].
    \mforall{}Xs:EClass(A)  List.  \mforall{}es:EO+(Info).  \mforall{}e:E.
        (\mexists{}X\mmember{}Xs.  (\muparrow{}e  \mmember{}\msubb{}  X)  \mwedge{}  (first-eclass(Xs)(e)  =  X(e)))  supposing  \muparrow{}e  \mmember{}\msubb{}  first-eclass(Xs)


Date html generated: 2011_08_16-PM-04_19_02
Last ObjectModification: 2011_06_20-AM-00_46_15

Home Index