{ [Info,A:Type]. [X,Y:EClass(A)].
    X = Y 
    supposing es:EO+(Info). e:E.
                ((e':E. ((e' < e)  ((X es e') = (Y es e'))))
                 ((X es e) = (Y es e))) }

{ Proof }



Definitions occuring in Statement :  eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-causl: (e < e') es-E: E uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q apply: f a universe: Type equal: s = t bag: bag(T)
Definitions :  record-select: r.x set: {x:A| B[x]}  decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b eq_atom: x =a y eq_atom: eq_atom$n(x;y) dep-isect: Error :dep-isect,  record+: record+ lambda: x.A[x] apply: f a limited-type: LimitedType subtype: S  T top: Top pair: <a, b> fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b product: x:A  B[x] and: P  Q uiff: uiff(P;Q) subtype_rel: A r B axiom: Ax prop: es-E: E event-ordering+: EO+(Info) event_ordering: EO es-causl: (e < e') universe: Type uall: [x:A]. B[x] so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) uimplies: b supposing a isect: x:A. B[x] member: t  T equal: s = t bag: bag(T) all: x:A. B[x] implies: P  Q function: x:A  B[x] Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  CollapseTHENA: Error :CollapseTHENA,  eclass-val: X(e) es-le: e loc e'  es-locl: (e <loc e') es-p-le: e p e' es-causle: e c e' es-p-locl: e pe' causal-predecessor: causal-predecessor(es;p) record: record(x.T[x]) infix_ap: x f y minus: -n subtract: n - m atom: Atom es-base-E: es-base-E(es) token: "$token" bool: grp_car: |g| natural_number: $n void: Void false: False real: rationals: int: add: n + m nat: guard: {T} exists: x:A. B[x] strongwellfounded: SWellFounded(R[x; y])
Lemmas :  ge_wf nat_properties false_wf not_wf le_wf nat_wf guard_wf nat_ind_tp es-causl-swellfnd es-base-E_wf subtype_rel_self event-ordering+_wf es-E_wf bag_wf member_wf es-causl_wf event-ordering+_inc eclass_wf

\mforall{}[Info,A:Type].  \mforall{}[X,Y:EClass(A)].
    X  =  Y 
    supposing  \mforall{}es:EO+(Info).  \mforall{}e:E.
                            ((\mforall{}e':E.  ((e'  <  e)  {}\mRightarrow{}  ((X  es  e')  =  (Y  es  e'))))  {}\mRightarrow{}  ((X  es  e)  =  (Y  es  e)))


Date html generated: 2011_08_16-PM-04_09_45
Last ObjectModification: 2011_06_20-AM-00_42_55

Home Index