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