{ [V:Type]
    ((v1,v2:V.  Dec(v1 = v2))
     (v,v':V. ((v = v')))
     (A:Id List. W:{a:Id| (a  A)}  List List.
        x:ts-reachable(consensus-ts5(V;A;W)). v:V. b:{a:Id| (a  A)} . i:.
          (state fst(x) may consider v in inning i) supposing 
             ((Estimate(fst(x);b)(i) = v) and 
             (i  dom(Estimate(fst(x);b)))))) }

{ Proof }



Definitions occuring in Statement :  consensus-ts5: consensus-ts5(V;A;W) cs-precondition: state s may consider v in inning i cs-estimate: Estimate(s;a) fpf-ap: f(x) fpf-dom: x  dom(f) Id: Id assert: b decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] pi1: fst(t) all: x:A. B[x] exists: x:A. B[x] not: A implies: P  Q set: {x:A| B[x]}  list: type List int: universe: Type equal: s = t l_member: (x  l) int-deq: IntDeq ts-reachable: ts-reachable(ts)
Definitions :  all: x:A. B[x] uimplies: b supposing a pi1: fst(t) consensus-state4: ConsensusState uall: [x:A]. B[x] prop: member: t  T so_lambda: x.t[x] true: True assert: b fpf-dom: x  dom(f) cs-estimate: Estimate(s;a) ts-init: ts-init(ts) consensus-ts5: consensus-ts5(V;A;W) pi2: snd(t) fpf-empty: bfalse: ff deq-member: deq-member(eq;x;L) reduce: reduce(f;k;as) ifthenelse: if b then t else f fi  false: False exists: x:A. B[x] implies: P  Q infix_ap: x f y ts-rel: ts-rel(ts) consensus-rel-knowledge: consensus-rel-knowledge(V;A;W;x;y) top: Top cs-precondition: state s may consider v in inning i and: P  Q cand: A c B btrue: tt squash: T so_apply: x[s] not: A cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i ts-type: ts-type(ts) ts-reachable: ts-reachable(ts) le: A  B Id: Id or: P  Q uiff: uiff(P;Q) consensus-rel-knowledge-step: consensus-rel-knowledge-step(V;A;W;x1;x2;y1;y2;a) consensus-rel-knowledge-inning-step: consensus-rel-knowledge-inning-step(V;A;W;x1;x2;y1;y2;a) consensus-rel-knowledge-archive-step: consensus-rel-knowledge-archive-step(V;A;W;x1;x2;y1;y2;a) consensus-rel-add-knowledge-step: consensus-rel-add-knowledge-step(V;A;W;x1;x2;y1;y2;a) decidable: Dec(P) guard: {T} sq_type: SQType(T) cs-knowledge-precondition: may consider v in inning i based on knowledge (s) iff: P  Q rev_implies: P  Q
Lemmas :  sq_stable__all assert_wf fpf-dom_wf cs-estimate_wf subtype_rel_function Id_wf l_member_wf fpf_wf top_wf subtype_rel_self subtype_rel_simple_product subtype-fpf2 subtype-top sq_stable__uall assert_witness sq_stable_from_decidable cs-precondition_wf decidable__cs-precondition ts-reachable_wf consensus-ts5_wf ts-type_wf false_wf fpf-ap_wf int-deq_wf consensus-rel-knowledge-step_wf pi1_wf_top consensus-state4_wf pi2_wf consensus-state5_wf decidable__equal_Id le_wf cs-inning_wf not_wf cs-archive-blocked_wf member_wf fpf-trivial-subtype-top subtype_base_sq bool_wf bool_subtype_base assert_elim squash_wf true_wf deq_wf fpf-join_wf fpf-single_wf cs-knowledge-precondition_wf decidable__equal_int int_subtype_base rel_star_wf ts-rel_wf ts-init_wf consensus-ts5-true-knowledge id-deq_wf atom2_subtype_base fpf-join-single-property fpf-join-dom bnot_wf fpf-join-ap-sq bool_cases iff_weakening_uiff eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot

\mforall{}[V:Type]
    ((\mforall{}v1,v2:V.    Dec(v1  =  v2))
    {}\mRightarrow{}  (\mexists{}v,v':V.  (\mneg{}(v  =  v')))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.  \mforall{}x:ts-reachable(consensus-ts5(V;A;W)).  \mforall{}v:V.
            \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}i:\mBbbZ{}.
                (state  fst(x)  may  consider  v  in  inning  i)  supposing 
                      ((Estimate(fst(x);b)(i)  =  v)  and 
                      (\muparrow{}i  \mmember{}  dom(Estimate(fst(x);b))))))


Date html generated: 2011_08_16-AM-10_08_32
Last ObjectModification: 2011_06_18-AM-09_02_07

Home Index