Nuprl Lemma : local-simulation-validity

∀correct:Id ─→ ℙ. ∀g,f:Name ─→ Type. ∀X:EClass(Interface).
  (LocalClass(X)
  ⇒ (∀locs:bag(Id). ∀hdr:Name.
        ∀hdrs:Name List. ∀es:EO+(Message(f)).
          ((∀i:Id. ((correct i) ⇒ local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)))
          ⇒ (∀P:Interface ─→ ℙ. ∀R:Interface ─→ Message(g) ─→ ℙ.
                ((∀eo:EO+(Message(g))
                    (eo-msg-interface-constraint(eo;X;hdrs;g)
                    ⇒ (∀e:E. ∀v:Interface.  (v ∈ X(e) ⇒ P[v] ⇒ (↓∃e':E. ((e' < e) ∧ R[v;info(e')]))))))
                ⇒ (∀e:E. ∀v:Interface.
                      ((correct loc(e))
                      ⇒ v ∈ local-simulation-class(X;locs;hdr)(e)
                      ⇒ P[v]
                      ⇒ (↓∃e':E
                            ((e' <loc e)
                            ∧ (↑has-header-and-in-locs(info(e');hdr;locs))
                            ∧ R[v;snd(msg-body(info(e')))]))))))) 
        supposing hdr encodes Id × Message(g)))


Proof




Definitions occuring in Statement :  local-simulation-input-validity: local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i),  eo-msg-interface-constraint: eo-msg-interface-constraint(es;X;hdrs;f),  msg-interface: Interface,  has-header-and-in-locs: has-header-and-in-locs(msg;hdr;locs),  local-simulation-class: local-simulation-class(X;locs;hdr),  encodes-msg-type: hdr encodes T,  msg-body: msg-body(msg),  Message: Message(f),  local-class: LocalClass(X),  classrel: v ∈ X(e),  eclass: EClass(A[eo; e]),  es-info: info(e),  event-ordering+: EO+(Info),  es-locl: (e <loc e'),  es-causl: (e < e'),  es-loc: loc(e),  es-E: E,  Id: Id,  name: Name,  list: T List,  assert: ↑b,  uimplies: b supposing a,  prop: ℙ,  so_apply: x[s1;s2],  so_apply: x[s],  pi2: snd(t),  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  squash: ↓T,  implies: P ⇒ Q,  and: P ∧ Q,  apply: f a,  function: x:A ─→ B[x],  product: x:A × B[x],  universe: Type,  bag: bag(T)
Lemmas :  global-eo-causl,  local-simulation-inputs_wf,  Message_wf,  subtype_rel_list,  Id_wf,  bag-member_wf,  top_wf,  local-simulation-event_wf,  es-E_wf,  local-simulation-eo_wf,  event-ordering+_subtype,  global-eo-E-sq,  filter_wf5,  es-before_wf,  compose_wf,  l_member_wf,  bool_wf,  has-header-and-in-locs_wf,  subtype_rel_product,  subtype_top,  subtype_rel_transitivity,  es-info_wf,  filter-map,  length-map,  select_member,  lelt_wf,  length_wf,  member_filter,  select_wf,  sq_stable__le,  member-es-before,  es-locl_wf,  assert_wf,  global-eo-info,  filter_cons_lemma,  filter_nil_lemma,  filter_append_sq,  map_append_sq,  filter_type,  name_wf,  msg-header_wf,  assert-has-header-and-in-locs,  list_wf,  less_than_wf,  map_wf,  eqtt_to_assert,  cons_wf,  nil_wf,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  le_wf,  lt_int_wf,  assert_of_lt_int,  select-map,  assert-bnot,  select-append,  map-map,  set_wf,  msg-body_wf2,  subtype_rel-equal,  msg-type_wf,  iff_weakening_equal

Latex:
\mforall{}correct:Id  {}\mrightarrow{}  \mBbbP{}.  \mforall{}g,f:Name  {}\mrightarrow{}  Type.  \mforall{}X:EClass(Interface).
    (LocalClass(X)
    {}\mRightarrow{}  (\mforall{}locs:bag(Id).  \mforall{}hdr:Name.
                \mforall{}hdrs:Name  List.  \mforall{}es:EO+(Message(f)).
                    ((\mforall{}i:Id.  ((correct  i)  {}\mRightarrow{}  local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)))
                    {}\mRightarrow{}  (\mforall{}P:Interface  {}\mrightarrow{}  \mBbbP{}.  \mforall{}R:Interface  {}\mrightarrow{}  Message(g)  {}\mrightarrow{}  \mBbbP{}.
                                ((\mforall{}eo:EO+(Message(g))
                                        (eo-msg-interface-constraint(eo;X;hdrs;g)
                                        {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}v:Interface.
                                                    (v  \mmember{}  X(e)  {}\mRightarrow{}  P[v]  {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E.  ((e'  <  e)  \mwedge{}  R[v;info(e')]))))))
                                {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}v:Interface.
                                            ((correct  loc(e))
                                            {}\mRightarrow{}  v  \mmember{}  local-simulation-class(X;locs;hdr)(e)
                                            {}\mRightarrow{}  P[v]
                                            {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                                                        ((e'  <loc  e)
                                                        \mwedge{}  (\muparrow{}has-header-and-in-locs(info(e');hdr;locs))
                                                        \mwedge{}  R[v;snd(msg-body(info(e')))]))))))) 
                supposing  hdr  encodes  Id  \mtimes{}  Message(g)))



Date html generated: 2015_07_22-PM-00_07_15
Last ObjectModification: 2015_02_04-PM-04_43_16

Home Index