Nuprl Lemma : three-cs-no-repeated-votes

V:Type. ∀A:Id List. ∀t:ℕ+. ∀f:(V List) ⟶ V. ∀s:ts-reachable(three-consensus-ts(V;A;t;f)). ∀a:{a:Id| (a ∈ A)} .
  no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))


Proof




Definitions occuring in Statement :  three-consensus-ts: three-consensus-ts(V;A;t;f) rcv-vote?: rcv-vote?(x) consensus-rcv: consensus-rcv(V;A) Id: Id no_repeats: no_repeats(T;l) l_member: (x ∈ l) filter: filter(P;l) list: List nat_plus: + all: x:A. B[x] set: {x:A| B[x]}  apply: a lambda: λx.A[x] function: x:A ⟶ B[x] universe: Type ts-reachable: ts-reachable(ts)
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T subtype_rel: A ⊆B so_lambda: λ2x.t[x] prop: ts-reachable: ts-reachable(ts) so_apply: x[s] uimplies: supposing a ts-type: ts-type(ts) pi1: fst(t) three-consensus-ts: three-consensus-ts(V;A;t;f) implies:  Q guard: {T} ts-init: ts-init(ts) pi2: snd(t) top: Top infix_ap: y ts-rel: ts-rel(ts) exists: x:A. B[x] and: P ∧ Q decidable: Dec(P) or: P ∨ Q Id: Id sq_type: SQType(T) uiff: uiff(P;Q) cand: c∧ B bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff bnot: ¬bb assert: b false: False not: ¬A iff: ⇐⇒ Q consensus-rcv: consensus-rcv(V;A) rcv-vote?: rcv-vote?(x) cs-rcv-vote: Vote[a;i;v] squash: T true: True rev_implies:  Q

Latex:
\mforall{}V:Type.  \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}\msupplus{}.  \mforall{}f:(V  List)  {}\mrightarrow{}  V.  \mforall{}s:ts-reachable(three-consensus-ts(V;A;t;f)).
\mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .
    no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))



Date html generated: 2016_05_16-PM-00_46_50
Last ObjectModification: 2016_01_17-PM-07_59_13

Theory : event-ordering


Home Index