Nuprl Lemma : Paxos-spec6-non-blocking1

[Info:Type]
  es:EO+(Info). failset:Id List.
    [T:Type]
      f:. acceptors:Id List. Reserve,NoProposal,NewBallot:EClass(). VoteState:EClass(AcceptorState).
      Proposal:EClass(  T). AcceptOrReject:EClass(  T  ). leader:  Id. Decide,Input:EClass(T).
      Vote:EClass(Id    ). Collect:EClass(    T).
        (Paxos-spec6-body{i:l}(Info;es;T;f;acceptors;
                               Reserve;VoteState;Proposal;
                               AcceptOrReject;leader;Decide;
                               Vote;Input;Collect;NoProposal;
                               NewBallot;failset)
         (n:E(Input)
              (b:. r:E(Reserve). ((Reserve(r) < b)  ((leader Reserve(r)) = loc(n))))
               (d:E(Decide). (loc(d) = loc(n))) 
              supposing (loc(n)  failset)))


Proof not projected




Definitions occuring in Statement :  Paxos-spec6-body: Paxos-spec6-body paxos-acceptor-state: AcceptorState es-E-interface: E(X) eclass-val: X(e) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-loc: loc(e) Id: Id bool: nat_plus: nat: uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] not: A implies: P  Q or: P  Q less_than: a < b apply: f a function: x:A  B[x] product: x:A  B[x] list: type List int: universe: Type equal: s = t l_member: (x  l)
Definitions :  squash: T and: P  Q true: True ifthenelse: if b then t else f fi  btrue: tt so_lambda: x.t[x] member: t  T prop: not: A assert: b implies: P  Q es-E-interface: E(X) all: x:A. B[x] exists: x:A. B[x] guard: {T} so_lambda: x y.t[x; y] or: P  Q false: False le: A  B nat: Id: Id alle-lt: e<e'.P[e] sq_type: SQType(T) es-first-at: e is first@ i s.t.  e.P[e] so_apply: x[s] uall: [x:A]. B[x] uimplies: b supposing a let: let so_apply: x[s1;s2] subtype: S  T
Lemmas :  true_wf squash_wf not_wf l_member_wf assert_elim es-E-interface_wf bool_subtype_base bool_wf subtype_base_sq decidable__assert Id_wf es-E_wf es-interface-top in-eclass_wf assert_wf es-loc_wf event-ordering+_inc es-first-at-exists es-le-loc event-ordering+_wf nat_wf eclass-val_wf le_wf atom2_subtype_base

\mforall{}[Info:Type]
    \mforall{}es:EO+(Info).  \mforall{}failset:Id  List.
        \mforall{}[T:Type]
            \mforall{}f:\mBbbN{}\msupplus{}.  \mforall{}acceptors:Id  List.  \mforall{}Reserve,NoProposal,NewBallot:EClass(\mBbbN{}).
            \mforall{}VoteState:EClass(AcceptorState).  \mforall{}Proposal:EClass(\mBbbN{}  \mtimes{}  T).  \mforall{}AcceptOrReject:EClass(\mBbbN{}  \mtimes{}  T  \mtimes{}  \mBbbB{}).
            \mforall{}leader:\mBbbN{}  {}\mrightarrow{}  Id.  \mforall{}Decide,Input:EClass(T).  \mforall{}Vote:EClass(Id  \mtimes{}  \mBbbN{}  \mtimes{}  \mBbbB{}).
            \mforall{}Collect:EClass(\mBbbN{}  \mtimes{}  \mBbbZ{}  \mtimes{}  T).
                (Paxos-spec6-body\{i:l\}(Info;es;T;f;acceptors;
                                                              Reserve;VoteState;Proposal;
                                                              AcceptOrReject;leader;Decide;
                                                              Vote;Input;Collect;NoProposal;
                                                              NewBallot;failset)
                {}\mRightarrow{}  (\mforall{}n:E(Input)
                            (\mexists{}b:\mBbbN{}.  \mforall{}r:E(Reserve).  ((Reserve(r)  <  b)  \mvee{}  ((leader  Reserve(r))  =  loc(n))))
                            {}\mRightarrow{}  (\mexists{}d:E(Decide).  (loc(d)  =  loc(n))) 
                            supposing  \mneg{}(loc(n)  \mmember{}  failset)))


Date html generated: 2011_10_20-PM-04_41_44
Last ObjectModification: 2011_06_18-PM-02_07_38

Home Index