{ [Info,A:Type]. [I:EClass(A)]. [P:es:EO+(Info)  E  ].
  [p:es:EO+(Info). e:E.  Dec(P[es;e])].
    (I|p) = I supposing es:EO+(Info). e:E.  ((P[es;e])  ((I es e) = {})) }

{ Proof }



Definitions occuring in Statement :  es-interface-restrict: (I|p) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-E: E decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] not: A implies: P  Q apply: f a function: x:A  B[x] universe: Type equal: s = t empty-bag: {} bag: bag(T)
Definitions :  inr: inr x  inl: inl x  record-select: r.x set: {x:A| B[x]}  ifthenelse: if b then t else f fi  assert: b void: Void false: False decide: case b of inl(x) =s[x] | inr(y) =t[y] pair: <a, b> fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) eq_atom: x =a y eq_atom: eq_atom$n(x;y) union: left + right or: P  Q dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  less_than: a < b product: x:A  B[x] and: P  Q uiff: uiff(P;Q) lambda: x.A[x] subtype_rel: A r B empty-bag: {} limited-type: LimitedType subtype: S  T axiom: Ax es-interface-restrict: (I|p) not: A bag: bag(T) implies: P  Q apply: f a so_apply: x[s1;s2] decidable: Dec(P) uimplies: b supposing a equal: s = t so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) prop: universe: Type 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] all: x:A. B[x]
Lemmas :  decidable_wf event-ordering+_inc es-E_wf event-ordering+_wf bag_wf member_wf empty-bag_wf not_wf eclass_wf subtype_rel_wf

\mforall{}[Info,A:Type].  \mforall{}[I:EClass(A)].  \mforall{}[P:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].
\mforall{}[p:\mforall{}es:EO+(Info).  \mforall{}e:E.    Dec(P[es;e])].
    (I|p)  =  I  supposing  \mforall{}es:EO+(Info).  \mforall{}e:E.    ((\mneg{}P[es;e])  {}\mRightarrow{}  ((I  es  e)  =  \{\}))


Date html generated: 2011_08_16-PM-04_27_06
Last ObjectModification: 2011_06_20-AM-00_51_14

Home Index