Nuprl Lemma : RSC-retry-property2

[Cmd:ValueAllType]. [eq:EqDecider(Cmd)]. [locs,clients:bag(Id)]. [f:]. [es:EO'].
  ((RSC_stdma{i:l}(Cmd;clients;eq;f;locs) es)
   (e:E. c:Cmd. n,r:.
        (<<n, r + 1>, c>  RSC_Retry(Cmd)(e)
         (x:Id
              cs:Cmd List
               L:Id List
                ((no_repeats(Id;L)  (||L|| = ((2 * f) + 1))  (||cs|| = ||L||))
                 (i:||L||
                     ((e':{e':E| (e' < e)} 
                         <x, make-Msg(``sc vote``;    Cmd  Id;<<<n, r>, cs[i]>, L[i]>)> 
                          RSC_main(Cmd;clients;eq;f;locs)(e'))
                      L[i]  locs))
                 (c = (snd(poss-maj(eq;cs;hd(cs))))))))))


Proof not projected




Definitions occuring in Statement :  RSC_stdma: RSC_stdma{i:l}(Cmd;clients;cmdeq;flrs;locs),  RSC_main: RSC_main(Cmd;clients;cmdeq;flrs;locs),  RSC_Retry: RSC_Retry(Cmd),  make-Msg: make-Msg(hdr;typ;val),  Message: Message,  classrel: v  X(e),  event-ordering+: EO+(Info),  es-causl: (e < e'),  es-E: E,  Id: Id,  select: l[i],  hd: hd(l),  length: ||as||,  int_seg: {i..j},  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,  set: {x:A| B[x]} ,  apply: f a,  pair: <a, b>,  product: x:A  B[x],  cons: [car / cdr],  nil: [],  list: type List,  multiply: n * m,  add: n + m,  natural_number: $n,  int: ,  token: "$token",  equal: s = t,  no_repeats: no_repeats(T;l),  poss-maj: poss-maj(eq;L;x),  deq: EqDecider(T),  bag-member: x  bs,  bag: bag(T),  vatype: ValueAllType
Definitions :  uall: [x:A]. B[x],  vatype: ValueAllType,  implies: P  Q,  all: x:A. B[x],  squash: T,  exists: x:A. B[x],  and: P  Q,  length: ||as||,  int_seg: {i..j},  select: l[i],  member: t  T,  true: True,  not: A,  RSC_headers_no_inputs: Error :RSC_headers_no_inputs,  es-header: es-header(es;e),  name: Name,  so_lambda: x.t[x],  ycomb: Y,  lelt: i  j < k,  le: A  B,  false: False,  prop: ,  ifthenelse: if b then t else f fi ,  le_int: i z j,  bnot: b,  lt_int: i <z j,  btrue: tt,  bfalse: ff,  cand: A c B,  label: ...$L... t,  RSC_VotesInRound: Error :RSC_VotesInRound,  Accum-class: Accum-class(f;init;X),  RSC_collect: Error :RSC_collect,  RSC_Vote: Error :RSC_Vote,  top: Top,  uiff: uiff(P;Q),  band: p  q,  guard: {T},  hd: hd(l),  nat: ,  Id: Id,  bag-member: x  bs,  RSC_stdma: Error :RSC_stdma,  RSC_Retry: Error :RSC_Retry,  sq_stable: SqStable(P),  message-constraint: message-constraint{i:l}(es;X;hdrs),  std-ma: StandardMessageAutomaton(X;hdrs),  uimplies: b supposing a,  so_apply: x[s],  or: P  Q,  sq_or: a  b,  iff: P  Q,  sq_type: SQType(T),  rev_uimplies: rev_uimplies(P;Q),  bool: ,  unit: Unit,  msg-header: msg-header(m),  subtype: S  T,  it: ,  !hyp_hide: x
Lemmas :  sq_stable__valueall-type,  valueall-type_wf,  base-noloc-classrel-make-Msg,  product-valueall-type,  int-valueall-type,  select_member,  name_wf,  le_wf,  l_member_wf,  msg-header_wf,  Error :RSC_headers_no_inputs_wf,  squash_wf,  es-E_wf,  event-ordering+_inc,  Message_wf,  es-causl_wf,  classrel_wf,  Id_wf,  Error :RSC_main_wf,  es-loc_wf,  RSC_retry,  Error :RSC_Retry_wf,  Error :RSC_stdma_wf,  event-ordering+_wf,  bag_wf,  deq_wf,  subtype_base_sq,  int_subtype_base,  member-eo-forward-E,  sq_stable_from_decidable,  es-le_wf,  decidable__es-le,  eo-forward-E-subtype,  primed-class-opt_wf,  single-bag_wf,  Error :RSC_VotesInRound_wf,  eo-forward_wf,  not_wf,  product-wf,  length_wf,  Error :pi2_wf,  nat_wf,  poss-maj_wf,  base-headers-msg-val_wf,  rec-combined-class-opt-1-classrel,  Error :RSC_collect_wf,  simple-comb-2-classrel,  Error :RSC_Vote_wf,  rec-combined-class-opt-1_wf,  lifting-2_wf,  eq_int_wf,  bool_wf,  uiff_transitivity,  assert_wf,  eqtt_to_assert,  assert_of_eq_int,  deq-member_wf,  id-deq_wf,  iff_transitivity,  iff_weakening_uiff,  assert-deq-member,  bnot_wf,  eqff_to_assert,  assert_of_bnot,  not_functionality_wrt_iff,  not_functionality_wrt_uiff,  eo-forward-base-classrel,  pair_wf,  RSC_VotesInRound-inv,  int_seg_wf,  no_repeats_wf,  make-Msg_wf,  Id-valueall-type,  select_wf,  bag-member_wf,  hd_wf,  pos_length,  nat_properties,  atom2_subtype_base,  es-le-loc,  eo-forward-loc,  eo-forward-le,  decidable__es-causl,  es-causle_weakening_locl,  es-causl_transitivity2,  es-causle_weakening,  RSC_vote,  length_wf_nat,  top_wf,  member_wf

\mforall{}[Cmd:ValueAllType].  \mforall{}[eq:EqDecider(Cmd)].  \mforall{}[locs,clients:bag(Id)].  \mforall{}[f:\mBbbZ{}].  \mforall{}[es:EO'].
    ((RSC\_stdma\{i:l\}(Cmd;clients;eq;f;locs)  es)
    {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}c:Cmd.  \mforall{}n,r:\mBbbZ{}.
                (<<n,  r  +  1>,  c>  \mmember{}  RSC\_Retry(Cmd)(e)
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}x:Id
                            \mexists{}cs:Cmd  List
                              \mexists{}L:Id  List
                                ((no\_repeats(Id;L)  \mwedge{}  (||L||  =  ((2  *  f)  +  1))  \mwedge{}  (||cs||  =  ||L||))
                                \mwedge{}  (\mforall{}i:\mBbbN{}||L||
                                          ((\mdownarrow{}\mexists{}e':\{e':E|  (e'  <  e)\} 
                                                  <x,  make-Msg(``sc  vote``;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id;<<<n,  r>,  cs[i]>,  L[i]>)>  \mmember{}
                                                    RSC\_main(Cmd;clients;eq;f;locs)(e'))
                                          \mwedge{}  L[i]  \mdownarrow{}\mmember{}  locs))
                                \mwedge{}  (c  =  (snd(poss-maj(eq;cs;hd(cs))))))))))


Date html generated: 2012_02_20-PM-04_04_21
Last ObjectModification: 2012_02_02-PM-01_59_51

Home Index