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

{ Proof }



Definitions occuring in Statement :  eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-E: E uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s1;s2] all: x:A. B[x] apply: f a function: x:A  B[x] universe: Type equal: s = t bag: bag(T)
Definitions :  limited-type: LimitedType subtype: S  T 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: all: x:A. B[x] eclass: EClass(A[eo; e]) uimplies: b supposing a equal: s = t universe: Type bag: bag(T) so_apply: x[s1;s2] apply: f a es-E: E event_ordering: EO event-ordering+: EO+(Info) uall: [x:A]. B[x] isect: x:A. B[x] member: t  T function: x:A  B[x] guard: {T} set: {x:A| B[x]}  eq_atom: x =a y eq_atom: eq_atom$n(x;y) dep-isect: Error :dep-isect,  record+: record+
Lemmas :  bag_wf event-ordering+_wf es-E_wf event-ordering+_inc

\mforall{}[T:Type].  \mforall{}[A:es:EO+(T)  {}\mrightarrow{}  E  {}\mrightarrow{}  Type].  \mforall{}[X,Y:EClass(A[es;e])].
    X  =  Y  supposing  \mforall{}es:EO+(T).  \mforall{}e:E.    ((X  es  e)  =  (Y  es  e))


Date html generated: 2011_08_16-AM-11_28_15
Last ObjectModification: 2011_06_20-AM-00_28_00

Home Index