Nuprl Lemma : vote-crosses-threshold

∀[V:Type]. ∀[A:Id List]. ∀[t:ℕ+]. ∀[n1:ℕ]. ∀[n2:ℤ]. ∀[v1:V]. ∀[L1:consensus-rcv(V;A) List]. ∀[a:{a:Id| (a ∈ A)} ].
  ({(n1 = n2 ∈ ℤ) ∧ (¬↑null(filter(λr.n1 - 1 <z inning(r);L1)))}) supposing 
     ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n2;L1 @ [Vote[a;n1;v1]]))||) and 
     (||values-for-distinct(IdDeq;votes-from-inning(n2;L1))|| ≤ (2 * t)))


Proof




Definitions occuring in Statement :  votes-from-inning: votes-from-inning(i;L),  rcvd-inning-gt: i <z inning(r),  cs-rcv-vote: Vote[a;i;v],  consensus-rcv: consensus-rcv(V;A),  id-deq: IdDeq,  Id: Id,  values-for-distinct: values-for-distinct(eq;L),  l_member: (x ∈ l),  length: ||as||,  null: null(as),  filter: filter(P;l),  append: as @ bs,  cons: [a / b],  nil: [],  list: T List,  nat_plus: ℕ+,  nat: ℕ,  assert: ↑b,  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  guard: {T},  le: A ≤ B,  not: ¬A,  and: P ∧ Q,  set: {x:A| B[x]} ,  lambda: λx.A[x],  multiply: n * m,  subtract: n - m,  add: n + m,  natural_number: $n,  int: ℤ,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  uimplies: b supposing a,  all: ∀x:A. B[x],  guard: {T},  exists: ∃x:A. B[x],  and: P ∧ Q,  cand: A c∧ B,  prop: ℙ,  not: ¬A,  implies: P ⇒ Q,  false: False,  nat: ℕ,  le: A ≤ B,  subtype_rel: A ⊆r B,  nat_plus: ℕ+,  so_lambda: λ2x.t[x],  so_apply: x[s],  cs-rcv-vote: Vote[a;i;v],  consensus-rcv: consensus-rcv(V;A),  pi1: fst(t),  pi2: snd(t),  ge: i ≥ j ,  decidable: Dec(P),  or: P ∨ Q,  satisfiable_int_formula: satisfiable_int_formula(fmla),  top: Top,  squash: ↓T,  true: True

Latex:
\mforall{}[V:Type].  \mforall{}[A:Id  List].  \mforall{}[t:\mBbbN{}\msupplus{}].  \mforall{}[n1:\mBbbN{}].  \mforall{}[n2:\mBbbZ{}].  \mforall{}[v1:V].  \mforall{}[L1:consensus-rcv(V;A)  List].
\mforall{}[a:\{a:Id|  (a  \mmember{}  A)\}  ].
    (\{(n1  =  n2)  \mwedge{}  (\mneg{}\muparrow{}null(filter(\mlambda{}r.n1  -  1  <z  inning(r);L1)))\})  supposing 
          ((((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n2;L1
              @  [Vote[a;n1;v1]]))||)  and 
          (||values-for-distinct(IdDeq;votes-from-inning(n2;L1))||  \mleq{}  (2  *  t)))



Date html generated: 2016_05_16-PM-00_39_23
Last ObjectModification: 2016_01_17-PM-08_00_21

Theory : event-ordering


Home Index