Nuprl Definition : oar-deliver

Class OARDeliver outputs (i.e. delivers) the
sequenced message ⌈<sndr, n, msg>⌉ at correct location
only if it has verified that 2*f+1 members of the list
of orderers have signed ⌈<sndr, n, msg>⌉.
Also, it does not deliver ⌈<sndr, n, msg>⌉ unless it has previously
delivered messages ⌈<sndr, n', msg'>⌉ for all n' < n.⋅

oar-deliver(es;M;V;correct;orderers;f;OARDeliver) ==
  ∀n:ℕ. ∀sndr:Id. ∀msg:M. ∀e:E.
    (<sndr, n, msg> ∈ OARDeliver(e)
     (correct loc(e))
     {(0 <  (∃msg':M. ∃e':E. ((e' <loc e) ∧ <sndr, 1, msg'> ∈ OARDeliver(e))))
       ∧ (∃L:Id List
           ((||L|| ((2 f) 1) ∈ ℤ)
           ∧ no_repeats(Id;L)
           ∧ (∀o∈L.o ↓∈ orderers ∧ (∃e':E(V). (e' ≤loc e  ∧ (∃sig:Atom1. <o, sig, sndr, n, msg> ∈ V(e')))))))})



Definitions occuring in Statement :  es-E-interface: E(X) classrel: v ∈ X(e) es-le: e ≤loc e'  es-locl: (e <loc e') es-loc: loc(e) es-E: E Id: Id l_all: (∀x∈L.P[x]) no_repeats: no_repeats(T;l) length: ||as|| list: List nat: atom: Atom$n less_than: a < b guard: {T} all: x:A. B[x] exists: x:A. B[x] implies:  Q and: P ∧ Q apply: a pair: <a, b> product: x:A × B[x] multiply: m subtract: m add: m natural_number: $n int: equal: t ∈ T bag-member: x ↓∈ bs
FDL editor aliases :  oar-deliver

Latex:
oar-deliver(es;M;V;correct;orderers;f;OARDeliver)  ==
    \mforall{}n:\mBbbN{}.  \mforall{}sndr:Id.  \mforall{}msg:M.  \mforall{}e:E.
        (<sndr,  n,  msg>  \mmember{}  OARDeliver(e)
        {}\mRightarrow{}  (correct  loc(e))
        {}\mRightarrow{}  \{(0  <  n  {}\mRightarrow{}  (\mexists{}msg':M.  \mexists{}e':E.  ((e'  <loc  e)  \mwedge{}  <sndr,  n  -  1,  msg'>  \mmember{}  OARDeliver(e))))
              \mwedge{}  (\mexists{}L:Id  List
                      ((||L||  =  ((2  *  f)  +  1))
                      \mwedge{}  no\_repeats(Id;L)
                      \mwedge{}  (\mforall{}o\mmember{}L.o  \mdownarrow{}\mmember{}  orderers
                                \mwedge{}  (\mexists{}e':E(V).  (e'  \mleq{}loc  e    \mwedge{}  (\mexists{}sig:Atom1.  <o,  sig,  sndr,  n,  msg>  \mmember{}  V(e')))))))\})



Date html generated: 2015_07_23-PM-00_26_37
Last ObjectModification: 2014_07_07-PM-01_27_29

Home Index