Nuprl Lemma : run-event-cases

[M:Type ⟶ Type]
  ∀S0:System(P.M[P]). ∀r:pRunType(P.M[P]). ∀e1,e2:runEvents(r).
    (((run-event-local-pred(r;e2) run-event-local-pred(r;e1) ∈ (runEvents(r)?))
       ∧ (run-event-interval(r;e1;e2) [e2] ∈ (runEvents(r) List)))
       ∨ (∃e:runEvents(r)
           (run-event-step(e) < run-event-step(e2)
           ∧ (run-event-step(e1) ≤ run-event-step(e))
           ∧ ((run-event-loc(e1) run-event-loc(e) ∈ Id) ∧ (run-event-local-pred(r;e2) (inl e) ∈ (runEvents(r)?)))
           ∧ (run-event-interval(r;e1;e2) (run-event-interval(r;e1;e) [e2]) ∈ (runEvents(r) List))))) supposing 
       ((run-event-step(e1) ≤ run-event-step(e2)) and 
       (run-event-loc(e1) run-event-loc(e2) ∈ Id))


Proof




Definitions occuring in Statement :  run-event-local-pred: run-event-local-pred(r;e) run-event-interval: run-event-interval(r;e1;e2) run-event-step: run-event-step(e) run-event-loc: run-event-loc(e) runEvents: runEvents(r) pRunType: pRunType(T.M[T]) System: System(P.M[P]) Id: Id append: as bs cons: [a b] nil: [] list: List less_than: a < b uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] le: A ≤ B all: x:A. B[x] exists: x:A. B[x] or: P ∨ Q and: P ∧ Q unit: Unit function: x:A ⟶ B[x] inl: inl x union: left right universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] uimplies: supposing a member: t ∈ T le: A ≤ B and: P ∧ Q not: ¬A implies:  Q false: False so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B nat: prop: runEvents: runEvents(r) run-event-step: run-event-step(e) pi1: fst(t) run-event-loc: run-event-loc(e) pi2: snd(t) run-event-interval: run-event-interval(r;e1;e2) run-event-local-pred: run-event-local-pred(r;e) let: let run-event-history: run-event-history(r;e) sq_stable: SqStable(P) sq_type: SQType(T) guard: {T} assert: b ifthenelse: if then else fi  btrue: tt true: True squash: T Id: Id ge: i ≥  decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top cand: c∧ B less_than': less_than'(a;b) is-run-event: is-run-event(r;t;x) int_seg: {i..j-} lelt: i ≤ j < k from-upto: [n, m) bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) has-value: (a)↓ bfalse: ff bnot: ¬bb mapfilter: mapfilter(f;P;L) exposed-bfalse: exposed-bfalse band: p ∧b q isl: isl(x) append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] cons: [a b] last: last(L) subtract: m select: L[n]

Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}S0:System(P.M[P]).  \mforall{}r:pRunType(P.M[P]).  \mforall{}e1,e2:runEvents(r).
        (((run-event-local-pred(r;e2)  =  run-event-local-pred(r;e1))
              \mwedge{}  (run-event-interval(r;e1;e2)  =  [e2]))
              \mvee{}  (\mexists{}e:runEvents(r)
                      (run-event-step(e)  <  run-event-step(e2)
                      \mwedge{}  (run-event-step(e1)  \mleq{}  run-event-step(e))
                      \mwedge{}  ((run-event-loc(e1)  =  run-event-loc(e))  \mwedge{}  (run-event-local-pred(r;e2)  =  (inl  e)))
                      \mwedge{}  (run-event-interval(r;e1;e2)  =  (run-event-interval(r;e1;e)  @  [e2])))))  supposing 
              ((run-event-step(e1)  \mleq{}  run-event-step(e2))  and 
              (run-event-loc(e1)  =  run-event-loc(e2)))



Date html generated: 2016_05_17-AM-10_45_24
Last ObjectModification: 2016_01_18-AM-00_26_38

Theory : process-model


Home Index