{ 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