Nuprl Lemma : new_23_sig_retry_property

∀[Cmd:ValueAllType]. ∀[eq:EqDecider(Cmd)]. ∀[reps,clients:bag(Id)]. ∀[coeff,flrs:ℕ]. ∀[propose,notify:Atom List].
∀[slots:set-sig{i:l}(ℤ)]. ∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)]. ∀[es:EO+(Message(f))].
  (new_23_sig_message-constraint{i:l}(Cmd;clients;eq;coeff;flrs;notify;propose;reps;slots;f)
  ⇒ (∀e:E. ∀c:Cmd. ∀n,r:ℤ.
        (<<n, r + 1>, c> ∈ new_23_sig_retry'base(Cmd;notify;propose;f)(e)
        ⇒ (↓∃x:Id
              ∃cs:Cmd List+
               ∃L:Id List
                ((no_repeats(Id;L) ∧ (||L|| = ((coeff * flrs) + 1) ∈ ℤ) ∧ (||cs|| = ||L|| ∈ ℤ))
                ∧ (∀i:ℕ||L||. ((↓∃e':E. mk-msg-interface(x;make-Msg(``new_23_sig vote``;<<<n, r>, cs[i]>, L[i]>)) ∈ new_\000C23_sig_main()(e')) ∧ L[i] ↓∈ reps))
                ∧ (c = (snd(poss-maj(eq;cs;hd(cs)))) ∈ Cmd))))))


Proof




Definitions occuring in Statement :  new_23_sig_message-constraint: new_23_sig_message-constraint{i:l}(Cmd;clients;cmdeq;coeff;flrs;notify;propose;reps;slots;f),  new_23_sig_main: new_23_sig_main(),  new_23_sig_retry'base: new_23_sig_retry'base(Cmd;notify;propose;f),  new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose),  mk-msg-interface: mk-msg-interface(l;m),  msg-interface: Interface,  make-Msg: make-Msg(hdr;val),  Message: Message(f),  classrel: v ∈ X(e),  event-ordering+: EO+(Info),  es-E: E,  Id: Id,  poss-maj: poss-maj(eq;L;x),  deq: EqDecider(T),  listp: A List+,  no_repeats: no_repeats(T;l),  select: L[n],  hd: hd(l),  length: ||as||,  cons: [a / b],  nil: [],  list: T List,  int_seg: {i..j-},  nat: ℕ,  vatype: ValueAllType,  uall: ∀[x:A]. B[x],  pi2: snd(t),  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  squash: ↓T,  implies: P ⇒ Q,  and: P ∧ Q,  pair: <a, b>,  product: x:A × B[x],  multiply: n * m,  add: n + m,  natural_number: $n,  int: ℤ,  token: "$token",  atom: Atom,  equal: s = t ∈ T,  bag-member: x ↓∈ bs,  bag: bag(T),  set-sig: set-sig{i:l}(Item)
Definitions :  assert: ↑b,  ifthenelse: if b then t else f fi ,  deq-member: x ∈b L),  reduce: reduce(f;k;as),  new_23_sig_headers_internal: new_23_sig_headers_internal(),  cons: [a / b],  bor: p ∨bq,  list-deq: list-deq(eq),  band: p ∧b q,  atom-deq: AtomDeq,  eq_atom: x =a y,  btrue: tt,  nil: [],  it: ⋅,  null: null(as),  true: True,  member: t ∈ T
Lemmas :  int_seg_wf,  length_wf,  name_wf,  new_23_sig_headers_wf,  l_all_iff,  l_member_wf,  equal_wf,  new_23_sig_headers_fun_wf,  cons_member,  cons_wf,  cons_wf_listp,  listp_wf,  nil_wf,  equal-wf-base,  list_subtype_base,  atom_subtype_base,  iff_weakening_equal,  name_eq_wf,  bool_wf,  eqtt_to_assert,  assert-name_eq,  sq_stable__no_repeats,  squash_wf,  true_wf,  eqff_to_assert,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  base-noloc-classrel-make-Msg2,  hdrmkmsg_lemma,  msg-header_wf,  new_23_sig_headers_internal_wf,  exists_wf,  es-causl_wf,  classrel_wf,  msg-interface_wf,  new_23_sig_main_wf,  make-msg-interface_wf,  es-loc_wf,  Message_wf,  subtype_rel_dep_function,  vatype_wf,  new_23_sig_retry'base_wf,  es-E_wf,  event-ordering+_subtype,  new_23_sig_message-constraint_wf,  event-ordering+_wf,  new_23_sig_headers_type_wf,  set-sig_wf,  list_wf,  nat_wf,  bag_wf,  Id_wf,  deq_wf,  valueall-type_wf,  msg-authentic_wf,  es-info_wf,  new_23_sig_assert_newvote,  es-info-body_wf,  new_23_sig_QuorumStateFun_wf,  eo-forward_wf,  member-eo-forward-E,  mul_bounds_1a,  eo-forward-E-subtype,  new_23_sig-retry,  new_23_sig_quorum_invariant_fun,  new_23_sig_quorum_inv_vote_fun,  length_of_cons_lemma,  reduce_hd_cons_lemma,  no_repeats_cons,  select-cons,  le_int_wf,  assert_of_le_int,  le_wf,  no_repeats_wf,  all_wf,  mk-msg-interface_wf,  make-Msg_wf,  select_wf,  sq_stable__le,  length_cons,  non_neg_length,  length_wf_nat,  poss-maj_wf,  subtype_rel_weakening,  ext-eq_weakening,  bag-member_wf,  less_than_transitivity1,  le_weakening,  hd_wf,  decidable__le,  false_wf,  not-ge-2,  le_antisymmetry_iff,  condition-implies-le,  minus-add,  minus-one-mul,  add-swap,  add-commutes,  add-associates,  zero-add,  add_functionality_wrt_le,  le-add-cancel2,  assert-deq-member,  es-info-mk-msg,  event-ordering+_cumulative,  es-info-auth_wf,  pair-eta,  subtype_rel_product,  top_wf,  subtype_top,  mk-msg_wf,  eclass_wf,  new_23_sig-vote,  decidable__equal_int,  not-equal-2,  int_subtype_base,  subtract_wf,  not-le-2,  minus-zero,  add-zero,  minus-minus,  le-add-cancel,  decidable__lt,  less-iff-le,  lelt_wf,  and_wf,  pi1_wf_top,  add_functionality_wrt_eq,  pi2_wf,  eo-forward-base-classrel,  eo-forward-locl,  atom2_subtype_base,  sq_stable__bag-member

Latex:
\mforall{}[Cmd:ValueAllType].  \mforall{}[eq:EqDecider(Cmd)].  \mforall{}[reps,clients:bag(Id)].  \mforall{}[coeff,flrs:\mBbbN{}].
\mforall{}[propose,notify:Atom  List].  \mforall{}[slots:set-sig\{i:l\}(\mBbbZ{})].
\mforall{}[f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose)].  \mforall{}[es:EO+(Message(f))].
    (new\_23\_sig\_message-constraint\{i:l\}(Cmd;clients;eq;coeff;flrs;notify;propose;reps;slots;f)
    {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}c:Cmd.  \mforall{}n,r:\mBbbZ{}.
                (<<n,  r  +  1>,  c>  \mmember{}  new\_23\_sig\_retry'base(Cmd;notify;propose;f)(e)
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}x:Id
                            \mexists{}cs:Cmd  List\msupplus{}
                              \mexists{}L:Id  List
                                ((no\_repeats(Id;L)  \mwedge{}  (||L||  =  ((coeff  *  flrs)  +  1))  \mwedge{}  (||cs||  =  ||L||))
                                \mwedge{}  (\mforall{}i:\mBbbN{}||L||
                                          ((\mdownarrow{}\mexists{}e':E
                                                  mk-msg-interface(x;make-Msg(``new\_23\_sig  vote``;<<<n,  r>,  cs[i]>,  L[i]>))  \mmember{}\000C  new\_23\_sig\_main()(e'))
                                          \mwedge{}  L[i]  \mdownarrow{}\mmember{}  reps))
                                \mwedge{}  (c  =  (snd(poss-maj(eq;cs;hd(cs))))))))))



Date html generated: 2015_07_23-PM-03_58_47
Last ObjectModification: 2015_02_04-PM-01_47_26

Home Index