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