{ [V:Type]. [A:Id List]. [t:]. [f:V List  V]. [v0:V].
  [L:consensus-rcv(V;A) List]. [v:V]. [i:].
    (fst(consensus-accum-num-state(t;f;v0;L))) 
    supposing archive-condition(V;A;t;f;i;v;L) }

{ Proof }



Definitions occuring in Statement :  consensus-accum-num-state: consensus-accum-num-state(t;f;v0;L) archive-condition: archive-condition(V;A;t;f;n;v;L) consensus-rcv: consensus-rcv(V;A) Id: Id assert: b nat_plus: uimplies: b supposing a uall: [x:A]. B[x] pi1: fst(t) function: x:A  B[x] list: type List int: universe: Type
Definitions :  top: Top strong-subtype: strong-subtype(A;B) exists: x:A. B[x] ge: i  j  and: P  Q uiff: uiff(P;Q) subtype_rel: A r B bool: l_member: (x  l) product: x:A  B[x] so_lambda: x.t[x] consensus-accum-num-state: consensus-accum-num-state(t;f;v0;L) pi1: fst(t) true: True decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b natural_number: $n void: Void implies: P  Q false: False not: A le: A  B real: rationals: subtype: S  T less_than: a < b nat: prop: archive-condition: archive-condition(V;A;t;f;n;v;L) uimplies: b supposing a int: isect: x:A. B[x] consensus-rcv: consensus-rcv(V;A) set: {x:A| B[x]}  all: x:A. B[x] function: x:A  B[x] uall: [x:A]. B[x] nat_plus: universe: Type member: t  T Id: Id list: type List equal: s = t tactic: Error :tactic,  lambda: x.A[x] guard: {T} append: as @ bs cons: [car / cdr] nil: [] grp_car: |g| minus: -n or: P  Q cs-rcv-vote: Vote[a;i;v] let: let pi2: snd(t) fpf-dom: x  dom(f) tl: tl(l) hd: hd(l) cs-initial-rcv: Init[v] lt_int: i <z j le_int: i z j btrue: tt eq_atom: x =a y set_blt: a < b grp_blt: a < b apply: f a infix_ap: x f y dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') eq_atom: eq_atom$n(x;y) qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) deq-member: deq-member(eq;x;L) deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_str: Error :eq_str,  eq_id: a = b eq_lnk: a = b bimplies: p  q band: p  q bor: p q eq_int: (i = j) bnot: b unit: Unit listp: A List combination: Combination(n;T) int_nzero: limited-type: LimitedType sqequal: s ~ t so_lambda: x y.t[x; y] values-for-distinct: values-for-distinct(eq;L) null: null(as) zip: zip(as;bs) rcvd-inning-gt: i <z inning(r) filter: filter(P;l) map: map(f;as) remove-repeats: remove-repeats(eq;L) length: ||as|| subtract: n - m votes-from-inning: votes-from-inning(i;L) bfalse: ff pair: <a, b> multiply: n * m add: n + m consensus-accum-num: consensus-accum-num(num;f;s;r) list_accum: list_accum(x,a.f[x; a];y;l) spreadn: let a,b,c,d,e = u in v[a; b; c; d; e] union: left + right cand: A c B fpf-cap: f(x)?z fpf: a:A fp-B[a] iff: P  Q it: id-deq: IdDeq deq: EqDecider(T) atom: Atom$n atom: Atom sq_type: SQType(T) remove_repeats_nil: remove_repeats_nil{remove_repeats_nil_compseq_tag_def:o}(eq) divides: b | a assoced: a ~ b set_leq: a  b set_lt: a <p b grp_lt: a < b l_contains: A  B inject: Inj(A;B;f) reducible: reducible(a) prime: prime(a) squash: T l_exists: (xL. P[x]) l_all: (xL.P[x]) fun-connected: y is f*(x) qle: r  s qless: r < s q-rel: q-rel(r;x) i-finite: i-finite(I) i-closed: i-closed(I) p-outcome: Outcome fset-member: a  s f-subset: xs  ys fset-closed: (s closed under fs) l_disjoint: l_disjoint(T;l1;l2) cs-not-completed: in state s, a has not completed inning i cs-archived: by state s, a archived v in inning i cs-passed: by state s, a passed inning i without archiving a value cs-inning-committed: in state s, inning i has committed v cs-inning-committable: in state s, inning i could commit v  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i cs-precondition: state s may consider v in inning i decidable: Dec(P) rcv-vote?: rcv-vote?(x) rcvd-inning-eq: inning(r) = i rcvd-vote: rcvd-vote(x) spreadn: spread3 mapfilter: mapfilter(f;P;L) dstype: dstype(TypeNames; d; a) fset: FSet{T} string: Error :string,  IdLnk: IdLnk Knd: Knd MaName: MaName consensus-state3: consensus-state3(T)
Lemmas :  length-map append-nil rcvd-inning-eq_wf mapfilter-append decidable__equal_int int_subtype_base decidable__lt filter_wf_top assert_of_null atom2_subtype_base set_subtype_base product_subtype_base list_subtype_base subtype_base_sq votes-from-inning-is-nil pi2_wf subtype_rel_wf deq_wf id-deq_wf iff_wf strong-subtype-deq-subtype strong-subtype_wf strong-subtype-set3 strong-subtype-self consensus-accum-num-property1 append_wf consensus-accum-num-property2 list_accum_append votes-from-inning_wf remove-repeats_wf length_wf1 map_wf iff_weakening_uiff uiff_transitivity eqtt_to_assert assert_of_eq_int not_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff eq_int_wf bnot_wf filter_wf rcvd-inning-gt_wf null_wf3 values-for-distinct_wf zip_wf archive-condition-append-init length_wf_nat assert_of_lt_int assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int lt_int_wf nat_properties le_int_wf cs-rcv-vote_wf archive-condition-append-vote last_induction Id_wf l_member_wf member_wf bool_wf top_wf consensus-accum-num-state_wf pi1_wf_top true_wf pi1_wf ifthenelse_wf false_wf assert_wf assert_witness nat_plus_inc le_wf nat_plus_properties archive-condition_wf consensus-rcv_wf nat_plus_wf

\mforall{}[V:Type].  \mforall{}[A:Id  List].  \mforall{}[t:\mBbbN{}\msupplus{}].  \mforall{}[f:V  List  {}\mrightarrow{}  V].  \mforall{}[v0:V].  \mforall{}[L:consensus-rcv(V;A)  List].  \mforall{}[v:V].
\mforall{}[i:\mBbbZ{}].
    \muparrow{}(fst(consensus-accum-num-state(t;f;v0;L)))  supposing  archive-condition(V;A;t;f;i;v;L)


Date html generated: 2011_08_16-AM-10_14_36
Last ObjectModification: 2011_06_18-AM-09_06_33

Home Index