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

{ Proof }



Definitions occuring in Statement :  es-class-causal-mrel: es-class-causal-mrel 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] 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-causal-mrel: es-class-causal-mrel so_apply: x[s1;s2;s3] and: P  Q all: x:A. B[x] exists: x:A. B[x] 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 so_lambda: x.t[x] es-E-interface: E(X) so_apply: x[s1;s2] uimplies: b supposing a sq_type: SQType(T) implies: P  Q guard: {T} so_apply: x[s] subtype: S  T
Lemmas :  es-E-interface_wf es-interface-top l_member_wf Id_wf es-loc_wf event-ordering+_inc es-causle_wf eclass-val_wf es-E_wf event-ordering+_wf subtype_base_sq bool_wf bool_subtype_base l_all_wf2 eclass_wf assert_elim in-eclass_wf

\mforall{}[Info,A,B:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].  \mforall{}[R:E(X)  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
\mforall{}[l:Id  List].
    (e\mmember{}X(x)  \mLeftarrow{}c\mRightarrow{}  Y(y)
                              @l  such  that
                              R[e;x;y]  \mmember{}  \mBbbP{})


Date html generated: 2011_08_16-PM-06_11_47
Last ObjectModification: 2011_06_20-AM-01_49_35

Home Index