Nuprl Lemma : archive-condition-append-vote

[V:Type]
  ∀A:Id List. ∀t:ℕ. ∀f:(V List) ─→ V. ∀L:consensus-rcv(V;A) List. ∀n:ℤ. ∀v,v2:V. ∀a:{b:Id| (b ∈ A)} . ∀i:ℕ.
    (archive-condition(V;A;t;f;n;v;L [Vote[a;i;v2]])
    ⇐⇒ ((L [] ∈ (consensus-rcv(V;A) List)) ∧ (i n ∈ ℤ) ∧ (v v2 ∈ V))
        ∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n 1;L))|| ≤ (2 t)))
          ∧ (↑null(filter(λr.n 1 <inning(r);L)))
          ∧ (((i n ∈ ℤ) ∧ (v v2 ∈ V))
            ∨ ((((2 t) 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n 1;L [Vote[a;i;v2]]))||)
              ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n 1;L [Vote[a;i;v2]]))) v ∈ V)))))


Proof




Definitions occuring in Statement :  archive-condition: archive-condition(V;A;t;f;n;v;L) votes-from-inning: votes-from-inning(i;L) rcvd-inning-gt: i <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: List nat: assert: b less_than: a < b uall: [x:A]. B[x] le: A ≤ B all: x:A. B[x] iff: ⇐⇒ Q or: P ∨ Q and: P ∧ Q set: {x:A| B[x]}  apply: a lambda: λx.A[x] function: x:A ─→ B[x] multiply: m subtract: m add: m natural_number: $n int: universe: Type equal: t ∈ T
Lemmas :  archive-condition_wf append_wf consensus-rcv_wf cons_wf cs-rcv-vote_wf nil_wf or_wf equal-wf-T-base list_wf length_wf length_of_nil_lemma int_subtype_base less_than_wf le_wf values-for-distinct_wf Id_wf l_member_wf id-deq_wf subtype_rel-deq sq_stable__l_member decidable__equal_Id equal_wf set_wf votes-from-inning_wf subtract_wf assert_wf null_wf3 filter_wf5 rcvd-inning-gt_wf subtype_rel_list top_wf nat_wf general-append-cancellation length_of_cons_lemma hd_wf listp_properties assert_of_lt_int list-cases cons_neq_nil product_subtype_list length_wf_nat decidable__lt false_wf condition-implies-le minus-add minus-one-mul zero-add add-commutes add_functionality_wrt_le add-associates add-zero le-add-cancel lt_int_wf reduce_hd_cons_lemma tl_wf reduce_tl_cons_lemma bfalse_wf and_wf isl_wf btrue_wf btrue_neq_bfalse pi2_wf pi1_wf_top squash_wf true_wf le_weakening2 sq_stable__le le_transitivity le_weakening cs-initial-rcv_wf not_wf exists_wf length-append equal-wf-base
\mforall{}[V:Type]
    \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}.  \mforall{}f:(V  List)  {}\mrightarrow{}  V.  \mforall{}L:consensus-rcv(V;A)  List.  \mforall{}n:\mBbbZ{}.  \mforall{}v,v2:V.  \mforall{}a:\{b:Id|  (b  \mmember{}  A)\}  \000C.
    \mforall{}i:\mBbbN{}.
        (archive-condition(V;A;t;f;n;v;L  @  [Vote[a;i;v2]])
        \mLeftarrow{}{}\mRightarrow{}  ((L  =  [])  \mwedge{}  (i  =  n)  \mwedge{}  (v  =  v2))
                \mvee{}  ((0  <  n  \mwedge{}  (||values-for-distinct(IdDeq;votes-from-inning(n  -  1;L))||  \mleq{}  (2  *  t)))
                    \mwedge{}  (\muparrow{}null(filter(\mlambda{}r.n  -  1  <z  inning(r);L)))
                    \mwedge{}  (((i  =  n)  \mwedge{}  (v  =  v2))
                        \mvee{}  ((((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n  -  1;L
                                @  [Vote[a;i;v2]]))||)
                            \mwedge{}  ((f  values-for-distinct(IdDeq;votes-from-inning(n  -  1;L  @  [Vote[a;i;v2]])))  =  v)))))



Date html generated: 2015_07_17-AM-11_48_37
Last ObjectModification: 2015_01_28-AM-00_46_13

Home Index