{ es:EO. p:E  (E + Top).
    (causal-predecessor(es;p)  (e,e':E.  (e p e'  e c e'))) }

{ Proof }



Definitions occuring in Statement :  es-p-le: e p e' causal-predecessor: causal-predecessor(es;p) es-causle: e c e' es-E: E event_ordering: EO top: Top all: x:A. B[x] implies: P  Q function: x:A  B[x] union: left + right
Definitions :  member: t  T equal: s = t es-E: E function: x:A  B[x] event_ordering: EO causal-predecessor: causal-predecessor(es;p) all: x:A. B[x] es-causl: (e < e') universe: Type prop: union: left + right pair: <a, b> dep-isect: Error :dep-isect,  record-select: r.x infix_ap: x f y eq_atom: x =a y eq_atom: eq_atom$n(x;y) record+: record+ apply: f a implies: P  Q assert: b top: Top bool: guard: {T} or: P  Q subtype_rel: A r B strong-subtype: strong-subtype(A;B) es-causle: e c e' es-p-locl: e pe' not: A p-graph: p-graph(A;f) product: x:A  B[x] exists: x:A. B[x] void: Void false: False eclass: Error :eclass,  fpf: a:A fp-B[a] limited-type: LimitedType decidable: Dec(P) es-locl: (e <loc e') es-le: e loc e'  existse-before: e<e'.P[e] existse-le: ee'.P[e] alle-lt: e<e'.P[e] alle-le: ee'.P[e] alle-between1: e[e1,e2).P[e] existse-between1: e[e1,e2).P[e] alle-between2: e[e1,e2].P[e] existse-between2: e[e1,e2].P[e] existse-between3: e(e1,e2].P[e] es-fset-loc: i  locs(s) collect-event: Error :collect-event,  cut-order: Error :cut-order,  path-goes-thru: Error :path-goes-thru,  es-r-immediate-pred: es-r-immediate-pred(es;R;e';e) es-p-le: e p e'
Lemmas :  es-causl_weakening_p-locl es-causle_wf es-p-le_wf causal-predecessor_wf top_wf event_ordering_wf decidable__es-causl es-E_wf es-causl_wf

\mforall{}es:EO.  \mforall{}p:E  {}\mrightarrow{}  (E  +  Top).    (causal-predecessor(es;p)  {}\mRightarrow{}  (\mforall{}e,e':E.    (e  p\mleq{}  e'  {}\mRightarrow{}  e  c\mleq{}  e')))


Date html generated: 2011_08_16-AM-11_16_21
Last ObjectModification: 2010_09_24-PM-08_44_50

Home Index