{ n2m:  Message. l2m:Id  Message.
    [A1,A2:EnvType  RunType  '].
      S1,S2:InitSys.
        [B1,B2:EO'  '].
          ((env:EnvType. r:RunType.  (A2[env;r]  A1[env;r]))
           (eo:EO'. (B1[eo]  B2[eo]))
           S1  S2
           assuming(env,r.A1[env;r])
              S1 |= eo.B1[eo]
           assuming(env,r.A2[env;r])
              S2 |= eo.B2[eo]) }

{ Proof }



Definitions occuring in Statement :  strong-realizes: strong-realizes,  subsys: S1  S2,  InitSys: InitSys,  RunType: RunType,  EnvType: EnvType,  Message: Message,  event-ordering+: EO+(Info),  Id: Id,  nat: ,  uall: [x:A]. B[x],  prop: ,  so_apply: x[s1;s2],  so_apply: x[s],  all: x:A. B[x],  implies: P  Q,  function: x:A  B[x]
Definitions :  all: x:A. B[x],  uall: [x:A]. B[x],  prop: ,  implies: P  Q,  so_apply: x[s1;s2],  so_apply: x[s],  strong-realizes: strong-realizes,  system-strongly-realizes: system-strongly-realizes,  InitialSystem: InitialSystem(P.M[P]),  member: t  T,  so_lambda: x y.t[x; y],  so_lambda: x.t[x],  EnvType: EnvType,  RunType: RunType,  system-realizes: system-realizes,  pEnvType: pEnvType(T.M[T]),  let: let,  Message: Message,  InitSys: InitSys,  System: System(P.M[P]),  Sys: Sys,  uimplies: b supposing a,  subsys: S1  S2,  runEO: runEO(n2m;l2m;env;S),  stdEO: stdEO(n2m;l2m;env;S),  guard: {T}
Lemmas :  strong-realizes_wf,  RunType_wf,  EnvType_wf,  event-ordering+_wf,  Message_wf,  subsys_wf,  InitSys_wf,  Id_wf,  nat_wf,  subsys_transitivity,  pRun_wf,  name_wf,  mData_wf,  strong-continuous-product,  continuous-constant,  fulpRunType-subtype,  stdEO_wf

\mforall{}n2m:\mBbbN{}  {}\mrightarrow{}  Message.  \mforall{}l2m:Id  {}\mrightarrow{}  Message.
    \mforall{}[A1,A2:EnvType  {}\mrightarrow{}  RunType  {}\mrightarrow{}  \mBbbP{}'].
        \mforall{}S1,S2:InitSys.
            \mforall{}[B1,B2:EO'  {}\mrightarrow{}  \mBbbP{}'].
                ((\mforall{}env:EnvType.  \mforall{}r:RunType.    (A2[env;r]  {}\mRightarrow{}  A1[env;r]))
                {}\mRightarrow{}  (\mforall{}eo:EO'.  (B1[eo]  {}\mRightarrow{}  B2[eo]))
                {}\mRightarrow{}  S1  \msubseteq{}  S2
                {}\mRightarrow{}  assuming(env,r.A1[env;r])
                        S1  |=  eo.B1[eo]
                {}\mRightarrow{}  assuming(env,r.A2[env;r])
                        S2  |=  eo.B2[eo])


Date html generated: 2011_08_17-PM-04_13_45
Last ObjectModification: 2011_06_18-AM-11_32_02

Home Index