{ 
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