{ [Info,A,B:Type]. [loc1:A  Id]. [loc2:B  Id]. [es:EO+(Info)].
  [f:Id List]. [X:EClass(A)]. [Y:EClass(B)]. [R:E(X)  A  B  ].
    (e,x,y. eX(x) c  reply Y(y)@loc1[x] such that
                         R[e;x;y]loc2[y]=loc(e)
                        unless loc(e)  f  ) }

{ Proof }



Definitions occuring in Statement :  es-class-reply-or-fail: es-class-reply-or-fail es-E-interface: E(X) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) Id: Id uall: [x:A]. B[x] prop: so_apply: x[s1;s2;s3] so_apply: x[s] member: t  T function: x:A  B[x] list: type List universe: Type
Definitions :  uall: [x:A]. B[x] prop: member: t  T es-class-reply-or-fail: es-class-reply-or-fail so_apply: x[s1;s2;s3] so_apply: x[s] and: P  Q all: x:A. B[x] exists: x:A. B[x] or: P  Q cand: A c B assert: b so_lambda: x y.t[x; y] btrue: tt ifthenelse: if b then t else f fi  true: True es-E-interface: E(X) so_apply: x[s1;s2] uimplies: b supposing a sq_type: SQType(T) implies: P  Q guard: {T} subtype: S  T
Lemmas :  es-E-interface_wf es-interface-top es-causle_wf event-ordering+_inc Id_wf es-loc_wf eclass-val_wf es-E_wf event-ordering+_wf subtype_base_sq bool_subtype_base l_member_wf eclass_wf assert_elim in-eclass_wf

\mforall{}[Info,A,B:Type].  \mforall{}[loc1:A  {}\mrightarrow{}  Id].  \mforall{}[loc2:B  {}\mrightarrow{}  Id].  \mforall{}[es:EO+(Info)].  \mforall{}[f:Id  List].  \mforall{}[X:EClass(A)].
\mforall{}[Y:EClass(B)].  \mforall{}[R:E(X)  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    (\mforall{}e,x,y.  e\mmember{}X(x)  \mLeftarrow{}c\mRightarrow{}  \mexists{}  reply  Y(y)@loc1[x]  such  that
                                              R[e;x;y]\mwedge{}loc2[y]=loc(e)
                                            unless  loc(e)  \mmember{}  f  \mmember{}  \mBbbP{})


Date html generated: 2011_08_16-PM-06_12_07
Last ObjectModification: 2011_06_20-AM-01_49_52

Home Index