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),  filter: filter(P;l),  length: ||as||,  append: as @ bs,  null: null(as),  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
Lemmas :  consensus-rcv-crosses-threshold,  equal-wf-base,  int_subtype_base,  not_wf,  assert_wf,  null_wf3,  filter_wf5,  l_member_wf,  rcvd-inning-gt_wf,  subtract_wf,  subtype_rel_list,  top_wf,  consensus-rcv_wf,  le_wf,  length_wf,  values-for-distinct_wf,  Id_wf,  id-deq_wf,  subtype_rel-deq,  sq_stable__l_member,  decidable__equal_Id,  equal_wf,  set_wf,  votes-from-inning_wf,  append_wf,  cons_wf,  cs-rcv-vote_wf,  nil_wf,  list_wf,  nat_wf,  nat_plus_wf,  and_wf,  pi2_wf,  pi1_wf_top,  squash_wf,  true_wf
\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: 2015_07_17-AM-11_49_41
Last ObjectModification: 2015_01_28-AM-00_45_20

Home Index