{ 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