{ [V:Type]. [A:Id List]. [t:]. [f:V List  V]. [v0:V].
  [L:consensus-rcv(V;A) List].
    ((snd(consensus-rcvs-to-consensus-events(f;t;v0;L))) = L) }

{ Proof }



Definitions occuring in Statement :  consensus-rcvs-to-consensus-events: consensus-rcvs-to-consensus-events(f;t;v0;L) consensus-rcv: consensus-rcv(V;A) Id: Id nat_plus: uall: [x:A]. B[x] pi2: snd(t) function: x:A  B[x] list: type List universe: Type equal: s = t
Definitions :  uall: [x:A]. B[x] pi2: snd(t) consensus-rcvs-to-consensus-events: consensus-rcvs-to-consensus-events(f;t;v0;L) member: t  T all: x:A. B[x] prop: implies: P  Q append: as @ bs so_lambda: x.t[x] 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] bfalse: ff ifthenelse: if b then t else f fi  spreadn: spread3 ycomb: Y top: Top subtype: S  T so_lambda: x y.t[x; y] btrue: tt and: P  Q nat: int_seg: {i..j} le: A  B not: A false: False lelt: i  j < k nat_plus: so_apply: x[s] guard: {T} so_apply: x[s1;s2] bool: unit: Unit iff: P  Q uimplies: b supposing a it:
Lemmas :  last_induction pi2_wf consensus-event_wf consensus-rcvs-to-consensus-events_wf list_accum_append top_wf list_accum_wf consensus-rcv_wf bool_wf Id_wf l_member_wf append_wf bfalse_wf consensus-accum-num_wf nat_plus_properties rcv-vote?_wf iff_weakening_uiff assert_wf eqtt_to_assert rcvd-vote_wf consensus-message_wf nat_properties le_wf unit_wf ifthenelse_wf null_wf3 archive-event_wf inning-event_wf map_wf int_seg_wf length_wf1 filter_wf is-inning-event_wf upto_wf not_wf uiff_transitivity bnot_wf eqff_to_assert assert_of_bnot 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].
    ((snd(consensus-rcvs-to-consensus-events(f;t;v0;L)))  =  L)


Date html generated: 2011_08_16-AM-10_18_23
Last ObjectModification: 2011_06_18-AM-09_07_26

Home Index