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: T List,  less_than: a < b,  uimplies: b 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: s = t ∈ T
Lemmas :  sq_stable__assert,  is-run-event_wf,  and_wf,  equal_wf,  Id_wf,  assert_elim,  subtype_base_sq,  bool_wf,  bool_subtype_base,  atom2_subtype_base,  from-upto-split,  sq_stable__le,  decidable__le,  false_wf,  not-le-2,  condition-implies-le,  minus-add,  minus-one-mul,  add-swap,  add-mul-special,  zero-mul,  add-zero,  add-associates,  add-commutes,  le-add-cancel,  mapfilter_wf,  le_wf,  less_than_wf,  from-upto_wf,  assert_wf,  subtype_rel_sets,  set_wf,  subtype_rel_list,  top_wf,  int_seg_wf,  int_seg_subtype-nat,  lelt_wf,  list_wf,  le_transitivity,  lt_int_wf,  eqtt_to_assert,  assert_of_lt_int,  value-type-has-value,  int-value-type,  less_than_irreflexivity,  eqff_to_assert,  bool_cases_sqequal,  assert-bnot,  filter_cons_lemma,  filter_nil_lemma,  assert_of_null,  null_wf3,  map_cons_lemma,  map_nil_lemma,  mapfilter-append,  null_append,  subtype_rel_nested_set2,  filter_type,  map_wf,  nil_wf,  cons_wf,  subtype_top,  subtype_rel_product,  subtype_rel_set,  btrue_neq_bfalse,  btrue_wf,  isl_wf,  pi2_wf,  pi1_wf_top,  bfalse_wf,  subtype_rel_list_set,  append_wf,  equal-wf-base-T,  exists_wf,  unit_wf2,  nat_wf,  it_wf,  null_nil_lemma,  null_cons_lemma,  list_ind_cons_lemma,  product_subtype_list,  list_ind_nil_lemma,  list-cases,  last_wf,  not_wf,  equal-wf-T-base,  squash_wf,  true_wf,  set_subtype_base,  product_subtype_base,  int_subtype_base,  list_subtype_base,  nat_properties,  less_than_transitivity1,  ge_wf,  add_functionality_wrt_le,  zero-add,  subtract_wf,  not-ge-2,  less-iff-le,  minus-minus,  pRunType_wf,  from-upto-nil,  le_antisymmetry,  le-add-cancel-alt,  mapfilter-singleton,  trivial-int-eq1,  length_of_nil_lemma,  length_of_cons_lemma,  last_append,  bnot_wf,  append-nil,  not-equal-2,  decidable__equal_int,  decidable__assert,  equal_functionality_wrt_subtype_rel2

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: 2015_07_23-AM-11_12_22
Last ObjectModification: 2015_07_16-AM-09_37_56

Home Index