{ [Info:Type]. [es:EO+(Info)]. [X,Y:EClass(Top)].
    uiff(E(X) r E(Y);strong-subtype(E(X);E(Y))) }

{ Proof }



Definitions occuring in Statement :  es-E-interface: E(X) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) subtype_rel: A r B uiff: uiff(P;Q) uall: [x:A]. B[x] top: Top universe: Type strong-subtype: strong-subtype(A;B)
Definitions :  bool: record: record(x.T[x]) so_apply: x[s] or: P  Q guard: {T} l_member: (x  l) in-eclass: e  X assert: b list: type List le: A  B ge: i  j  not: A less_than: a < b rev_implies: P  Q iff: P  Q exists: x:A. B[x] set: {x:A| B[x]}  prop: so_lambda: x.t[x] axiom: Ax es-E-interface: E(X) pair: <a, b> implies: P  Q cand: A c B strong-subtype: strong-subtype(A;B) uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) union: left + right subtype: S  T subtype_rel: A r B atom: Atom apply: f a token: "$token" ifthenelse: if b then t else f fi  record-select: r.x top: Top event_ordering: EO es-E: E lambda: x.A[x] dep-isect: Error :dep-isect,  eq_atom: x =a y eq_atom: eq_atom$n(x;y) record+: record+ all: x:A. B[x] function: x:A  B[x] isect: x:A. B[x] uall: [x:A]. B[x] eclass: EClass(A[eo; e]) so_lambda: x y.t[x; y] universe: Type member: t  T event-ordering+: EO+(Info) equal: s = t tactic: Error :tactic,  base: Base fpf-dom: x  dom(f) IdLnk: IdLnk Id: Id false: False Knd: Knd tag-by: zT fset: FSet{T} isect2: T1  T2 b-union: A  B fpf: a:A fp-B[a] fpf-sub: f  g deq: EqDecider(T) ma-state: State(ds) class-program: ClassProgram(T) limited-type: LimitedType true: True btrue: tt sq_type: SQType(T) decide: case b of inl(x) =s[x] | inr(y) =t[y] isl: isl(x) can-apply: can-apply(f;x) fpf-cap: f(x)?z
Lemmas :  assert_elim bool_wf bool_subtype_base subtype_base_sq subtype_rel_set ext-eq_inversion subtype_rel_sets false_wf ifthenelse_wf true_wf member_wf es-E-interface_wf subtype_rel_wf strong-subtype_wf uiff_wf pair_wf event-ordering+_wf event-ordering+_inc subtype_rel_self es-E_wf top_wf eclass_wf assert_wf strong-subtype-set3 in-eclass_wf rev_implies_wf iff_wf uiff_inversion

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[X,Y:EClass(Top)].    uiff(E(X)  \msubseteq{}r  E(Y);strong-subtype(E(X);E(Y)))


Date html generated: 2011_08_16-PM-04_01_24
Last ObjectModification: 2011_06_20-AM-00_36_15

Home Index