{ 
es:EO. 
i:Id.
    
[P:e1:{e:E| loc(e) = i}  
 {e2:E| loc(e2) = i}  
 
]
      (
e1@i.
e2
e1.(
e:E. ((e1 <loc e) 
 e 
loc e2  
 P[e;e2])) 
 P[e1;e2]
      
 
e1@i.
e2
e1.P[e1;e2]) }
{ Proof }
Definitions occuring in Statement : 
alle-ge:
e'
e.P[e'], 
alle-at:
e@i.P[e], 
es-le: e 
loc e' , 
es-locl: (e <loc 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, 
alle-ge:
e'
e.P[e'], 
so_apply: x[s1;s2], 
member: t 
 T, 
so_lambda: 
x.t[x], 
le: A 
 B, 
not:
A, 
false: False, 
ge: i 
 j , 
es-le: e 
loc e' , 
and: P 
 Q, 
cand: A c
 B, 
or: P 
 Q, 
guard: {T}, 
top: Top, 
subtype: S 
 T, 
assert:
b, 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
alle-at:
e@i.P[e], 
es-locl: (e <loc e'), 
so_apply: x[s], 
uimplies: b supposing a, 
nat:
, 
iff: P 

 Q, 
rev_implies: P 
 Q, 
sq_type: SQType(T)
Lemmas : 
alle-at_wf, 
es-E_wf, 
es-le_wf, 
es-locl_wf, 
Id_wf, 
es-loc_wf, 
event_ordering_wf, 
es-le-loc, 
nat_wf, 
nat_properties, 
ge_wf, 
le_wf, 
length_wf1, 
es-interval_wf, 
member-es-interval, 
non_neg_length, 
length_wf_nat, 
es-interval_wf2, 
top_wf, 
iff_weakening_uiff, 
length_zero, 
l_member_wf, 
nil_member, 
es-interval-partition, 
length-append, 
es-pred_wf, 
subtype_base_sq, 
bool_wf, 
bool_subtype_base, 
false_wf, 
es-locl-first, 
es-le-pred, 
es-interval-non-zero
\mforall{}es:EO.  \mforall{}i:Id.
    \mforall{}[P:e1:\{e:E|  loc(e)  =  i\}    {}\mrightarrow{}  \{e2:E|  loc(e2)  =  i\}    {}\mrightarrow{}  \mBbbP{}]
        (\mforall{}e1@i.\mforall{}e2\mgeq{}e1.(\mforall{}e:E.  ((e1  <loc  e)  {}\mRightarrow{}  e  \mleq{}loc  e2    {}\mRightarrow{}  P[e;e2]))  {}\mRightarrow{}  P[e1;e2]
        {}\mRightarrow{}  \mforall{}e1@i.\mforall{}e2\mgeq{}e1.P[e1;e2])
Date html generated:
2011_08_16-AM-10_53_32
Last ObjectModification:
2011_06_18-AM-09_26_50
Home
Index