Nuprl Lemma : pv11_p1_acc_state_from_p2a

∀Cmd:ValueAllType. ∀f:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(f)). ∀e:E. ∀ldrs_uid:Id ─→ ℤ.
∀v:pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List). ∀b:pv11_p1_Ballot_Num(). ∀s:ℤ. ∀c:Cmd.
  (Inj(Id;ℤ;ldrs_uid)
  ⇒ v ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;f)(e)
  ⇒ let bnum,accepted = v 
     in (<b, s, c> ∈ accepted)
        ⇒ (↓∃e':E
              ∃l:Id
               (e' ≤loc e 
               ∧ <l, b, s, c> ∈ pv11_p1_p2a'base(Cmd;f)(e')
               ∧ (b = (fst(pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;f;es;e'))) ∈ pv11_p1_Ballot_Num())
               ∧ (∀e'':E
                    (e' ≤loc e'' 
                    ⇒ e'' ≤loc e 
                    ⇒ (<b, s, c> ∈ snd(pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;f;es;e''))))))))


Proof




Definitions occuring in Statement :  pv11_p1_AcceptorStateFun: pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;mf;es;e),  pv11_p1_AcceptorState: pv11_p1_AcceptorState(Cmd;ldrs_uid;mf),  pv11_p1_p2a'base: pv11_p1_p2a'base(Cmd;mf),  pv11_p1_headers_type: pv11_p1_headers_type{i:l}(Cmd),  pv11_p1_Ballot_Num: pv11_p1_Ballot_Num(),  Message: Message(f),  classrel: v ∈ X(e),  event-ordering+: EO+(Info),  es-le: e ≤loc e' ,  es-E: E,  Id: Id,  l_member: (x ∈ l),  list: T List,  inject: Inj(A;B;f),  vatype: ValueAllType,  pi1: fst(t),  pi2: snd(t),  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  squash: ↓T,  implies: P ⇒ Q,  and: P ∧ Q,  function: x:A ─→ B[x],  spread: spread def,  pair: <a, b>,  product: x:A × B[x],  int: ℤ,  equal: s = t ∈ T
Lemmas :  es-causl-swellfnd,  event-ordering+_subtype,  Message_wf,  nat_properties,  less_than_transitivity1,  less_than_irreflexivity,  ge_wf,  less_than_wf,  l_member_wf,  classrel_wf,  pv11_p1_AcceptorState_wf,  list_wf,  es-E_wf,  int_seg_wf,  int_seg_subtype-nat,  decidable__le,  subtract_wf,  false_wf,  not-ge-2,  less-iff-le,  condition-implies-le,  minus-one-mul,  zero-add,  minus-add,  minus-minus,  add-associates,  add-swap,  add-commutes,  add_functionality_wrt_le,  add-zero,  le-add-cancel,  decidable__equal_int,  subtype_rel-int_seg,  le_weakening,  int_seg_properties,  le_wf,  nat_wf,  zero-le-nat,  lelt_wf,  es-causl_wf,  equal_wf,  decidable__lt,  not-equal-2,  le-add-cancel-alt,  not-le-2,  sq_stable__le,  add-mul-special,  zero-mul,  state-class2-inv,  pv11_p1_init_acceptor_wf,  Id_wf,  pv11_p1_on_p1a_wf,  pv11_p1_on_p2a_wf,  pv11_p1_p1a'base_wf,  pv11_p1_p2a'base_wf,  squash_wf,  exists_wf,  es-le_wf,  pv11_p1_AcceptorStateFun_wf,  all_wf,  base-headers-msg-val-single-val,  cons_wf_listp,  cons_wf,  nil_wf,  listp_wf,  subtype_rel_weakening,  ext-eq_weakening,  base-disjoint-classrel,  iff_transitivity,  not_wf,  equal-wf-base,  name_wf,  assert_wf,  name_eq_wf,  bnot_wf,  assert-name_eq,  iff_weakening_uiff,  assert_of_bnot,  es-first_wf2,  bool_wf,  eqtt_to_assert,  eqff_to_assert,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  state-class2_wf,  es-pred_wf,  bool_cases,  member-eclass_wf,  length_wf_nat,  nil_member,  pv11_p1_leq_bnum_wf,  pv11_p1_dummy_ballot_wf,  pv11_p1_add_if_new_iff2,  null_nil_lemma,  btrue_wf,  member-implies-null-eq-bfalse,  btrue_neq_bfalse,  reduce_nil_lemma,  es-loc_wf,  es-le-self,  true_wf,  event-ordering+_wf,  eclass_wf,  iff_weakening_equal,  member-disjoint-union-comb-bool,  classfun-res-disjoint-union-comb-as-parallel-eclass1,  classfun-res-parallel-class-right,  eclass1_wf,  member-eclass-eclass1,  eclass1-disjoint-classrel,  disjoint-classrel-symm,  base-noloc-classrel,  classfun-res-base,  es-info-body_wf,  pv11_p1_max_bnum_dummy,  pi1_wf_top,  top_wf,  pv11_p1_acc_state_fun_eq,  subtype_rel_product,  pv11_p1_Ballot_Num_wf,  subtype_top,  classfun-res-eclass1,  assert_elim,  es-locl_transitivity2,  es-locl_irreflexivity,  es-locl-first,  pv11_p1_leq_bnum_dummy_eq,  list_ind_nil_lemma,  cons_member,  pi2_wf,  es-pred-locl,  es-locl_transitivity1,  es-causl_weakening,  pair-eta,  pv11_p1_AcceptorState-classrel,  es-le_transitivity,  es-le_weakening,  es-locl-trichotomy,  es-le-loc,  and_wf,  es-le-pred,  classfun-res-parallel-class-left,  classfun-res-base-classrel,  product_subtype_base,  atom2_subtype_base,  union_subtype_base,  unit_wf2,  int_subtype_base,  unit_subtype_base,  pv11_p1_same_pvalue_wf,  pv11_p1_add_if_new_wf,  bl-exists_wf,  assert-bl-exists,  l_exists_wf,  es-le_weakening_eq,  let_wf,  pv11_p1_max_bnum_wf,  pv11_p1_max_bnum_comm,  pv11_p1_max_bnum_if_leq,  es-causle_antisymmetry,  es-causle_weakening_locl,  not_assert_elim

Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}f:pv11\_p1\_headers\_type\{i:l\}(Cmd).  \mforall{}es:EO+(Message(f)).  \mforall{}e:E.  \mforall{}ldrs$_\mbackslash{}ff7\000Cbuid}$:Id  {}\mrightarrow{}  \mBbbZ{}.
\mforall{}v:pv11\_p1\_Ballot\_Num()  \mtimes{}  ((pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd)  List).  \mforall{}b:pv11\_p1\_Ballot\_Num().  \mforall{}s:\mBbbZ{}.
\mforall{}c:Cmd.
    (Inj(Id;\mBbbZ{};ldrs$_{uid}$)
    {}\mRightarrow{}  v  \mmember{}  pv11\_p1\_AcceptorState(Cmd;ldrs$_{uid}$;f)(e)
    {}\mRightarrow{}  let  bnum,accepted  =  v 
          in  (<b,  s,  c>  \mmember{}  accepted)
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                            \mexists{}l:Id
                              (e'  \mleq{}loc  e 
                              \mwedge{}  <l,  b,  s,  c>  \mmember{}  pv11\_p1\_p2a'base(Cmd;f)(e')
                              \mwedge{}  (b  =  (fst(pv11\_p1\_AcceptorStateFun(Cmd;ldrs$_{uid}$;f;es;e'))))
                              \mwedge{}  (\mforall{}e'':E
                                        (e'  \mleq{}loc  e'' 
                                        {}\mRightarrow{}  e''  \mleq{}loc  e 
                                        {}\mRightarrow{}  (<b,  s,  c>  \mmember{}  snd(pv11\_p1\_AcceptorStateFun(Cmd;ldrs$_{uid}\mbackslash{}ff2\000C4;f;es;e''))))))))



Date html generated: 2015_07_23-PM-04_49_40
Last ObjectModification: 2015_02_04-AM-08_21_40

Home Index