{ [M:Type  Type]
    r:pRunType(P.M[P])
      e1,e2:runEvents(r).  Dec(e1 run-lt(r) e2) 
      supposing e:runEvents(r)
                  ((fst(fst(run-info(r;e)))) < run-event-step(e)) }

{ Proof }



Definitions occuring in Statement :  run-lt: run-lt(r) run-event-step: run-event-step(e) runEvents: runEvents(r) run-info: run-info(r;e) pRunType: pRunType(T.M[T]) decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] infix_ap: x f y so_apply: x[s] pi1: fst(t) all: x:A. B[x] less_than: a < b function: x:A  B[x] universe: Type
Definitions :  list: type List rel_finite: rel_finite(T;R) so_lambda: x y.t[x; y] strongwellfounded: SWellFounded(R[x; y]) void: Void real: grp_car: |g| nat: run-event-step: run-event-step(e) subtype: S  T pMsg: pMsg(P.M[P]) Id: Id run-info: run-info(r;e) top: Top int: pi1: fst(t) strong-subtype: strong-subtype(A;B) set: {x:A| B[x]}  decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  ge: i  j  uiff: uiff(P;Q) subtype_rel: A r B prop: false: False not: A and: P  Q iff: P  Q le: A  B assert: b divides: b | a assoced: a ~ b set_leq: a  b set_lt: a <p b grp_lt: a < b cand: A c B l_member: (x  l) l_contains: A  B inject: Inj(A;B;f) reducible: reducible(a) prime: prime(a) squash: T llex: llex(A;a,b.<[a; b]) l_exists: (xL. P[x]) l_all: (xL.P[x]) rel_exp: R^n fun-connected: y is f*(x) qle: r  s qless: r < s q-rel: q-rel(r;x) i-finite: i-finite(I) i-closed: i-closed(I) p-outcome: Outcome fset-member: a  s f-subset: xs  ys fset-closed: (s closed under fs) l_disjoint: l_disjoint(T;l1;l2) cs-not-completed: in state s, a has not completed inning i cs-archived: by state s, a archived v in inning i cs-passed: by state s, a passed inning i without archiving a value cs-inning-committed: in state s, inning i has committed v cs-inning-committable: in state s, inning i could commit v  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i cs-precondition: state s may consider v in inning i es-causl: (e < e') es-locl: (e <loc e') es-le: e loc e'  es-causle: e c e' rel_plus: R rel_star: R^* 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-p-local-pred: es-p-local-pred(es;P) es-p-le-pred: es-p-le-pred(es;P) es-fset-loc: i  locs(s) product: x:A  B[x] exists: x:A. B[x] es-p-immediate-pred: es-p-immediate-pred(es;P) es-r-immediate-pred: es-r-immediate-pred(es;R;e';e) same-thread: same-thread(es;p;e;e') implies: P  Q collect-event: collect-event(es;X;n;v.num[v];L.P[L];e) cut-order: a (X;f) b path-goes-thru: x-f*-y thru i lg-edge: lg-edge(g;a;b) run-pred: run-pred(r) run-lt: run-lt(r) infix_ap: x f y apply: f a so_apply: x[s] uall: [x:A]. B[x] universe: Type uimplies: b supposing a isect: x:A. B[x] decidable: Dec(P) or: P  Q union: left + right lambda: x.A[x] so_lambda: x.t[x] less_than: a < b runEvents: runEvents(r) pRunType: pRunType(T.M[T]) equal: s = t member: t  T axiom: Ax function: x:A  B[x] all: x:A. B[x] Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  Try: Error :Try,  Unfold: Error :Unfold
Lemmas :  run-pred_wf decidable__equal_runEvents decidable_wf runEvents_wf decidable__rel_plus pRunType_wf pMsg_wf member_wf top_wf Id_wf nat_wf run-event-step_wf run-info_wf pi1_wf_top run-lt_wf not_wf strongwellfounded_wf well-founded-run-pred rel_finite_wf l_member_wf finite-run-pred decidable__run-pred

\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}r:pRunType(P.M[P])
        \mforall{}e1,e2:runEvents(r).    Dec(e1  run-lt(r)  e2) 
        supposing  \mforall{}e:runEvents(r).  ((fst(fst(run-info(r;e))))  <  run-event-step(e))


Date html generated: 2011_08_16-PM-07_05_25
Last ObjectModification: 2011_06_18-AM-11_18_29

Home Index