Nuprl Lemma : rsc4-votes-consistent

[Cmd:ValueAllType]. [cmdeq:EqDecider(Cmd)]. [locs,clients:bag(Id)]. [coeff,flrs:]. [es:EO'].
  ((StandardAssumptions(rsc4_Main) es)
   (e1,e2:E. n,i:. x,y,z:Id. c1,c2:Cmd.
        (<y, make-Msg(``rsc4 vote``;    Cmd  Id;<<<n, i>, c1>, x>)>  rsc4_Main(e1)
         <z, make-Msg(``rsc4 vote``;    Cmd  Id;<<<n, i>, c2>, x>)>  rsc4_Main(e2)
         (c1 = c2))))


Proof




Definitions occuring in Statement :  rsc4_stdma: StandardAssumptions(rsc4_Main),  rsc4_main: rsc4_Main,  make-Msg: make-Msg(hdr;typ;val),  Message: Message,  classrel: v  X(e),  event-ordering+: EO+(Info),  es-E: E,  Id: Id,  uall: [x:A]. B[x],  all: x:A. B[x],  implies: P  Q,  apply: f a,  pair: <a, b>,  product: x:A  B[x],  cons: [car / cdr],  nil: [],  int: ,  token: "$token",  equal: s = t,  deq: EqDecider(T),  bag: bag(T),  vatype: ValueAllType
Definitions :  implies: P  Q,  uall: [x:A]. B[x],  std-ma: StandardMessageAutomaton(X;hdrs),  so_lambda: x.t[x],  prop: ,  true: True,  member: t  T,  squash: T,  and: P  Q,  all: x:A. B[x],  rsc4_stdma: StandardAssumptions(rsc4_Main),  vatype: ValueAllType,  rsc4_Proposal: rsc4_Proposal(Cmd),  sq_or: a  b,  guard: {T},  or: P  Q,  cand: A c B,  rsc4_vote2prop: rsc4_vote2prop(Cmd),  exists: x:A. B[x],  pi2: snd(t),  msg-has-type: msg-has-type(m;T),  name: Name,  tl: tl(l),  false: False,  subtype: S  T,  top: Top,  pi1: fst(t),  rsc4_NewRoundsState: rsc4_NewRoundsState(Cmd),  iff: P  Q,  rev_implies: P  Q,  so_lambda: x y.t[x; y],  rsc4_RoundInfo: rsc4_RoundInfo(Cmd),  uiff: uiff(P;Q),  rsc4_retry'base: rsc4_retry'base(Cmd),  rsc4_vote2retry: rsc4_vote2retry(Cmd),  rsc4_vote'base: rsc4_vote'base(Cmd),  bfalse: ff,  btrue: tt,  eq_atom: x =a y,  atom-deq: AtomDeq,  band: p  q,  list-deq: list-deq(eq),  name-deq: NameDeq,  ifthenelse: if b then t else f fi ,  name_eq: name_eq(x;y),  assert: b,  so_apply: x[s],  sq_stable: SqStable(P),  uimplies: b supposing a,  rev_uimplies: rev_uimplies(P;Q),  so_apply: x[s1;s2],  not: A,  le: A  B,  single-valued-classrel: single-valued-classrel(es;X;T),  sq_type: SQType(T),  rsc4_ReplicaState: rsc4_ReplicaState(Cmd),  rsc4_propose'base: rsc4_propose'base(Cmd)
Lemmas :  deq_wf,  bag_wf,  event-ordering+_wf,  messages-delivered_wf,  message-constraint_wf,  rsc4_headers_no_inputs_wf,  std-ma_wf,  event-ordering+_inc,  es-E_wf,  Id-valueall-type,  int-valueall-type,  product-valueall-type,  make-Msg_wf,  valueall-type_wf,  sq_stable__valueall-type,  rsc4_main_wf,  Id_wf,  Message_wf,  classrel_wf,  rsc4-vote,  true_wf,  squash_wf,  equal_wf,  es-le-loc,  rsc4_vote'base_wf,  rsc4_vote2prop_wf,  concat-lifting-loc-1_wf,  simple-loc-comb-1_wf,  rsc4_propose'base_wf,  parallel-classrel,  rsc4_voter_start_unique,  es-loc_wf,  bag-member_wf,  bag-member-single,  simple-loc-comb-1-concat-classrel,  pi2_wf,  msg-has-type_wf,  assert_wf,  msg-body_wf2,  es-info_wf,  and_wf,  base-noloc-classrel,  tl_wf,  name_wf,  es-header_wf,  pi1_wf_top,  assert_of_le_int,  eo-forward_wf,  rsc4_pos_rounds,  es-locl-trichotomy,  eclass_wf,  es-locl_wf,  es-le_wf,  rsc4_NewRoundsState_wf,  eo-forward-locl,  member-eo-forward-E,  rsc4_rounds_state_mem,  rsc4_vote2retry_wf,  rsc4_retry'base_wf,  eo-forward-base-classrel,  exists_wf,  base-headers-msg-val_wf,  or_wf,  single-valued-classrel-base,  assert-name_eq,  atom_subtype_base,  list_subtype_base,  subtype_base_sq

\mforall{}[Cmd:ValueAllType].  \mforall{}[cmdeq:EqDecider(Cmd)].  \mforall{}[locs,clients:bag(Id)].  \mforall{}[coeff,flrs:\mBbbZ{}].  \mforall{}[es:EO'].
    ((StandardAssumptions(rsc4\_Main)  es)
    {}\mRightarrow{}  (\mforall{}e1,e2:E.  \mforall{}n,i:\mBbbZ{}.  \mforall{}x,y,z:Id.  \mforall{}c1,c2:Cmd.
                (<y,  make-Msg(``rsc4  vote``;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id;<<<n,  i>,  c1>,  x>)>  \mmember{}  rsc4\_Main(e1)
                {}\mRightarrow{}  <z,  make-Msg(``rsc4  vote``;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id;<<<n,  i>,  c2>,  x>)>  \mmember{}  rsc4\_Main(e2)
                {}\mRightarrow{}  (c1  =  c2))))


Date html generated: 2012_02_20-PM-04_59_38
Last ObjectModification: 2012_02_02-PM-02_16_41

Home Index