{ es:EO
    [P:E  ]
      ((e:E. Dec(P[e]))
       (m:E
           (P[m]  (e:E. (P[e]  ((e = m)  (e':E. ((e' < e)  P[e'])))))))
          (e,e':E.  (P[e]  P[e']  (((e < e')  (e = e'))  (e' < e)))) 
         supposing e,e',x:E.
                     ((es-p-immediate-pred(es;e.P[e]) e x)
                      (es-p-immediate-pred(es;e.P[e]) e' x)
                      (e = e'))) }

{ Proof }



Definitions occuring in Statement :  es-p-immediate-pred: es-p-immediate-pred(es;P) es-causl: (e < e') es-E: E event_ordering: EO decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] implies: P  Q or: P  Q and: P  Q apply: f a lambda: x.A[x] function: x:A  B[x] equal: s = t
Definitions :  same-thread: same-thread(es;p;e;e') subtype: S  T suptype: suptype(S; T) decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  do-apply: do-apply(f;x) rev_implies: P  Q can-apply: can-apply(f;x) iff: P  Q p-inject: p-inject(A;B;f) causal-predecessor: causal-predecessor(es;p) top: Top record: record(x.T[x]) void: Void false: False true: True squash: T pair: <a, b> fpf: a:A fp-B[a] guard: {T} 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 infix_ap: x f y dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  not: A less_than: a < b uiff: uiff(P;Q) subtype_rel: A r B and: P  Q product: x:A  B[x] exists: x:A. B[x] axiom: Ax event_ordering: EO uall: [x:A]. B[x] or: P  Q union: left + right universe: Type uimplies: b supposing a isect: x:A. B[x] equal: s = t es-r-pred: es-r-pred{i:l}(es;d) so_apply: x[s] lambda: x.A[x] es-p-immediate-pred: es-p-immediate-pred(es;P) es-causl: (e < e') so_apply: x[s1;s2] implies: P  Q es-E: E all: x:A. B[x] prop: function: x:A  B[x] set: {x:A| B[x]}  member: t  T apply: f a decidable: Dec(P) cand: A c B bool: final-iterate: final-iterate(f;x) p-graph: p-graph(A;f) strongwellfounded: SWellFounded(R[x; y]) nat: rel_implies: R1 =R2 so_lambda: x y.t[x; y] int: p-fun-exp: f^n
Lemmas :  false_wf ifthenelse_wf final-iterate-p-immediate-pred final-iterate-property rel_implies_wf p-graph_wf p-graph_wf2 strongwf-monotone strongwellfounded_wf nat_wf es-causl-swellfnd final-iterate_wf es-E_wf es-p-immediate-pred_wf not_wf decidable_wf decidable__es-p-immediate-pred event_ordering_wf es-causl_wf true_wf squash_wf es-r-pred-property thread-ordered es-r-pred_wf assert_wf p-inject_wf do-apply_wf can-apply_wf top_wf member_wf same-thread_wf

\mforall{}es:EO
    \mforall{}[P:E  {}\mrightarrow{}  \mBbbP{}]
        ((\mforall{}e:E.  Dec(P[e]))
        {}\mRightarrow{}  (\mexists{}m:E.  (P[m]  \mwedge{}  (\mforall{}e:E.  (P[e]  {}\mRightarrow{}  ((e  =  m)  \mvee{}  (\mexists{}e':E.  ((e'  <  e)  \mwedge{}  P[e'])))))))
              {}\mRightarrow{}  (\mforall{}e,e':E.    (P[e]  {}\mRightarrow{}  P[e']  {}\mRightarrow{}  (((e  <  e')  \mvee{}  (e  =  e'))  \mvee{}  (e'  <  e)))) 
              supposing  \mforall{}e,e',x:E.
                                      ((es-p-immediate-pred(es;\mlambda{}e.P[e])  e  x)
                                      {}\mRightarrow{}  (es-p-immediate-pred(es;\mlambda{}e.P[e])  e'  x)
                                      {}\mRightarrow{}  (e  =  e')))


Date html generated: 2011_08_16-AM-11_17_41
Last ObjectModification: 2011_06_20-AM-00_22_58

Home Index