{ 
es:EO
    
[P:E 
 
]. 
[R:E 
 E 
 
].
      ((
e:E. Dec(P[e]))
      
 (
e,e':E.  Dec(R e' e))
      
 R => 
x,y.(x < y)
      
 (
e,e':E.  ((P[e] 
 (R e' e)) 
 P[e']))
      
 (
e,e':E.
            (P[e] 
 P[e'] 
 (((e R
 e') 
 (e = e')) 
 (e' R
 e)))) supposing 
            ((
a,b,e:E.
                ((
x,y:E.
                    (x c
 e
                    
 y c
 e
                    
 P[x]
                    
 P[y]
                    
 (((x R
 y) 
 (x = y)) 
 (y R
 x))))
                
 ((R e a) 
 (R e b))
                
 ((P[e] 
 P[a]) 
 P[b])
                
 (a = b) supposing 
                      ((
z:E. (
((R
 e z) 
 (R
 z b) 
 P[z]))) and 
                      (
z:E. (
((R
 e z) 
 (R
 z a) 
 P[z])))))) and 
            (
m,m':E.
               (P[m]
               
 P[m']
               
 (m = m') supposing 
                     ((
e:E. ((e R m') 
 (
P[e]))) and 
                     (
e:E. ((e R m) 
 (
P[e])))))))) }
{ Proof }
Definitions occuring in Statement : 
es-causle: e c
 e', 
es-causl: (e < e'), 
es-E: E, 
event_ordering: EO, 
decidable: Dec(P), 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
prop:
, 
infix_ap: x f y, 
so_apply: x[s], 
all:
x:A. B[x], 
not:
A, 
implies: P 
 Q, 
or: P 
 Q, 
and: P 
 Q, 
apply: f a, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
equal: s = t, 
rel_implies: R1 => R2, 
rel_plus: R
Definitions : 
limited-type: LimitedType, 
strong-subtype: strong-subtype(A;B), 
assert:
b, 
eq_atom: x =a y, 
eq_atom: eq_atom$n(x;y), 
record-select: r.x, 
set: {x:A| B[x]} , 
dep-isect: Error :dep-isect, 
record+: record+, 
le: A 
 B, 
ge: i 
 j , 
less_than: a < b, 
uiff: uiff(P;Q), 
subtype_rel: A 
r B, 
es-causle: e c
 e', 
rel_plus: R
, 
axiom: Ax, 
lambda:
x.A[x], 
member: t 
 T, 
infix_ap: x f y, 
not:
A, 
equal: s = t, 
product: x:A 
 B[x], 
and: P 
 Q, 
es-causl: (e < e'), 
rel_implies: R1 => R2, 
apply: f a, 
so_apply: x[s], 
decidable: Dec(P), 
event_ordering: EO, 
uall:
[x:A]. B[x], 
es-E: E, 
uimplies: b supposing a, 
isect:
x:A. B[x], 
or: P 
 Q, 
union: left + right, 
prop:
, 
universe: Type, 
implies: P 
 Q, 
all:
x:A. B[x], 
function: x:A 
 B[x], 
Auto: Error :Auto, 
tactic: Error :tactic, 
pair: <a, b>, 
guard: {T}, 
l_member: (x 
 l), 
bool:
, 
record: record(x.T[x]), 
MaAuto: Error :MaAuto, 
CollapseTHEN: Error :CollapseTHEN, 
trans: Trans(T;x,y.E[x; y]), 
CollapseTHENA: Error :CollapseTHENA, 
Unfold: Error :Unfold, 
THENL_cons: Error :THENL_nil, 
THENL_cons: Error :THENL_cons, 
THENL_v2: Error :THENL, 
void: Void, 
false: False, 
D: Error :D, 
exists:
x:A. B[x], 
fpf: a:A fp-> B[a], 
Complete: Error :Complete, 
BHyp: Error :BHyp, 
so_lambda: 
x y.t[x; y], 
Try: Error :Try
Lemmas : 
rel_plus_trans, 
trans_wf, 
single-threaded-relation, 
false_wf, 
rel-rel-plus, 
rel_plus_implies, 
rel_plus_minimal, 
es-causl_transitivity, 
decidable__rel_plus-causl, 
uiff_inversion, 
es-E_wf, 
rel_plus_wf, 
not_wf, 
es-causle_wf, 
rel_implies_wf, 
es-causl_wf, 
decidable_wf, 
event_ordering_wf
\mforall{}es:EO
    \mforall{}[P:E  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[R:E  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}e:E.  Dec(P[e]))
        {}\mRightarrow{}  (\mforall{}e,e':E.    Dec(R  e'  e))
        {}\mRightarrow{}  R  =>  \mlambda{}x,y.(x  <  y)
        {}\mRightarrow{}  (\mforall{}e,e':E.    ((P[e]  \mwedge{}  (R  e'  e))  {}\mRightarrow{}  P[e']))
        {}\mRightarrow{}  (\mforall{}e,e':E.    (P[e]  {}\mRightarrow{}  P[e']  {}\mRightarrow{}  (((e  R\msupplus{}  e')  \mvee{}  (e  =  e'))  \mvee{}  (e'  R\msupplus{}  e))))  supposing 
                    ((\mforall{}a,b,e:E.
                            ((\mforall{}x,y:E.    (x  c\mleq{}  e  {}\mRightarrow{}  y  c\mleq{}  e  {}\mRightarrow{}  P[x]  {}\mRightarrow{}  P[y]  {}\mRightarrow{}  (((x  R\msupplus{}  y)  \mvee{}  (x  =  y))  \mvee{}  (y  R\msupplus{}  x))))
                            {}\mRightarrow{}  ((R  e  a)  \mwedge{}  (R  e  b))
                            {}\mRightarrow{}  ((P[e]  \mwedge{}  P[a])  \mwedge{}  P[b])
                            {}\mRightarrow{}  (a  =  b)  supposing 
                                        ((\mforall{}z:E.  (\mneg{}((R\msupplus{}  e  z)  \mwedge{}  (R\msupplus{}  z  b)  \mwedge{}  P[z])))  and 
                                        (\mforall{}z:E.  (\mneg{}((R\msupplus{}  e  z)  \mwedge{}  (R\msupplus{}  z  a)  \mwedge{}  P[z]))))))  and 
                    (\mforall{}m,m':E.
                          (P[m]
                          {}\mRightarrow{}  P[m']
                          {}\mRightarrow{}  (m  =  m')  supposing  ((\mforall{}e:E.  ((e  R  m')  {}\mRightarrow{}  (\mneg{}P[e])))  and  (\mforall{}e:E.  ((e  R  m)  {}\mRightarrow{}  (\mneg{}P[e])))))\000C)))
Date html generated:
2011_08_16-AM-11_18_03
Last ObjectModification:
2011_06_20-AM-00_23_10
Home
Index