{ 
es:EO. 
e1,e2,b:E.
    
[Q:{e:E| loc(e) = loc(e1)}  
 {e:E| loc(e) = loc(e1)}  
 
]
      ((e1 <loc b)
      
 b 
loc e2 
      
 [e1,pred(b)]~([a,b].Q[a;b])+
      
 [b,e2]~([a,b].Q[a;b])+
      
 [e1,e2]~([a,b].Q[a;b])+) }
{ Proof }
Definitions occuring in Statement : 
es-pplus: [e1,e2]~([a,b].p[a; b])+, 
es-le: e 
loc e' , 
es-locl: (e <loc e'), 
es-pred: pred(e), 
es-loc: loc(e), 
es-E: E, 
event_ordering: EO, 
Id: Id, 
uall:
[x:A]. B[x], 
prop:
, 
so_apply: x[s1;s2], 
all:
x:A. B[x], 
implies: P 
 Q, 
set: {x:A| B[x]} , 
function: x:A 
 B[x], 
equal: s = t
Definitions : 
all:
x:A. B[x], 
uall:
[x:A]. B[x], 
prop:
, 
implies: P 
 Q, 
es-pplus: [e1,e2]~([a,b].p[a; b])+, 
so_apply: x[s1;s2], 
member: t 
 T, 
so_lambda: 
x y.t[x; y], 
not:
A, 
assert:
b, 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
es-locl: (e <loc e'), 
uimplies: b supposing a, 
sq_type: SQType(T), 
guard: {T}, 
false: False, 
and: P 
 Q
Lemmas : 
es-pplus_wf, 
es-E_wf, 
Id_wf, 
es-loc_wf, 
es-pred_wf, 
subtype_base_sq, 
bool_subtype_base, 
false_wf, 
es-le_wf, 
es-locl_wf, 
event_ordering_wf, 
es-locl-first, 
es-loc-pred, 
bool_wf, 
es-pstar-q-partition
\mforall{}es:EO.  \mforall{}e1,e2,b:E.
    \mforall{}[Q:\{e:E|  loc(e)  =  loc(e1)\}    {}\mrightarrow{}  \{e:E|  loc(e)  =  loc(e1)\}    {}\mrightarrow{}  \mBbbP{}]
        ((e1  <loc  b)
        {}\mRightarrow{}  b  \mleq{}loc  e2 
        {}\mRightarrow{}  [e1,pred(b)]\msim{}([a,b].Q[a;b])+
        {}\mRightarrow{}  [b,e2]\msim{}([a,b].Q[a;b])+
        {}\mRightarrow{}  [e1,e2]\msim{}([a,b].Q[a;b])+)
Date html generated:
2011_08_16-AM-10_58_24
Last ObjectModification:
2011_06_18-AM-09_31_19
Home
Index