Nuprl Lemma : consensus-reachable

∀[V:Type]
  ((∀v1,v2:V.  Dec(v1 = v2 ∈ V))
  ⇒ {∃v,v':V. (¬(v = v' ∈ V))}
  ⇒ (∀A:Id List. ∀W:{a:Id| (a ∈ A)}  List List.
        (three-intersection(A;W)
        ⇒ (∀ws∈W.∀x:ts-reachable(consensus-ts4(V;A;W))
                    ∃y:ConsensusState
                     ((x ((λx,y. CR(in ws)[x, y] )^*) y) ∧ (∃v:V. ∃i:ℤ. in state y, inning i has committed v))))))


Proof




Definitions occuring in Statement :  three-intersection: three-intersection(A;W),  cs-inning-committed: in state s, inning i has committed v,  consensus-ts4: consensus-ts4(V;A;W),  consensus-rel-mod: CR(in ws)[x, y] ,  consensus-state4: ConsensusState,  Id: Id,  l_all: (∀x∈L.P[x]),  l_member: (x ∈ l),  list: T List,  rel_star: R^*,  decidable: Dec(P),  uall: ∀[x:A]. B[x],  guard: {T},  infix_ap: x f y,  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  not: ¬A,  implies: P ⇒ Q,  and: P ∧ Q,  set: {x:A| B[x]} ,  lambda: λx.A[x],  int: ℤ,  universe: Type,  equal: s = t ∈ T,  ts-reachable: ts-reachable(ts)
Lemmas :  three-intersection-two-intersection,  two-intersection-one-intersection,  l_all_iff,  l_member_wf,  all_wf,  ts-reachable_wf,  consensus-ts4_wf,  subtype_rel_wf,  ts-type_wf,  exists_wf,  consensus-state4_wf,  infix_ap_wf,  subtype_rel_set,  rel_star_wf,  consensus-rel-mod_wf,  subtype_rel_dep_function,  ts-rel_wf,  ts-init_wf,  subtype_rel_self,  cs-inning-committed_wf,  set_wf,  Id_wf,  list-cases,  length_of_nil_lemma,  null_nil_lemma,  btrue_wf,  member-implies-null-eq-bfalse,  nil_wf,  btrue_neq_bfalse,  product_subtype_list,  length_of_cons_lemma,  length_wf,  non_neg_length,  length_wf_nat,  three-intersection_wf,  list_wf,  not_wf,  equal_wf,  decidable_wf,  imax-list_wf,  map_wf,  cs-inning_wf,  map_length,  equal-wf-T-base,  int_subtype_base,  fpf-domain_wf,  cs-estimate_wf,  top_wf,  consensus-state4-subtype,  imax-list-ub,  l_exists_iff,  le_wf,  member_map,  le_weakening,  decidable__lt,  false_wf,  condition-implies-le,  minus-add,  minus-one-mul,  add-swap,  add-commutes,  add_functionality_wrt_le,  add-associates,  le-add-cancel,  less_than_wf,  deq-member_wf,  id-deq_wf,  subtype_rel-deq,  sq_stable__l_member,  decidable__equal_Id,  bool_wf,  eqff_to_assert,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  assert-deq-member,  fresh-inning-reachable,  eqtt_to_assert,  assert_wf,  bnot_wf,  bool_cases,  iff_transitivity,  iff_weakening_uiff,  assert_of_bnot,  consensus-ts4-estimate-domain,  fpf_wf,  rel_star_transitivity,  rel_star_monotonic,  or_wf,  cs-precondition_wf,  fpf-join_wf,  fpf-single_wf,  int-deq_wf,  decidable__l_exists,  cs-archive-blocked_wf,  decidable__cs-archive-blocked,  l_all_wf2,  decidable__equal_int,  not-equal-2,  less-iff-le,  lelt_wf,  list_subtype_base,  set_subtype_base,  atom2_subtype_base,  select_wf,  sq_stable__le,  subtype_rel_list,  primrec-wf2,  nat_wf,  first0,  reduce_nil_lemma,  rel_star_weakening,  eta_conv,  iff_weakening_equal,  firstn_wf,  subtract_wf,  assert_of_band,  decidable__cand,  decidable__le,  not-le-2,  zero-add,  minus-minus,  add-zero,  decidable__l_member,  decidable__not,  eq_id_wf,  le-add-cancel-alt,  assert-eq-id,  assert_elim,  and_wf,  eq_id_self,  band_wf,  not_assert_elim,  deq-member-firstn,  bor_wf,  deq_wf,  bfalse_wf,  rel_rel_star,  list-subtype,  l_member-settype,  pi1_wf_top,  squash_wf,  true_wf,  subtype_rel_product,  subtype_top,  pi2_wf,  member_wf,  equal-wf-base-T,  bnot_thru_band,  assert_of_bor,  fpf-dom_wf,  fpf-ap_wf,  subtype-fpf2,  fpf-join-dom-sq,  deq_member_cons_lemma,  intdeq_reduce_lemma,  deq_member_nil_lemma,  eq_int_wf,  assert_of_eq_int,  less_than_transitivity1,  less_than_irreflexivity,  neg_assert_of_eq_int,  assert_functionality_wrt_uiff,  bor_ff_simp,  fpf-join-ap-sq,  fpf-join-dom,  equal-wf-base,  fpf-single-dom,  ifthenelse_wf,  member_firstn,  le_weakening2,  le-add-cancel2,  less_than_transitivity2,  firstn_all,  iff_imp_equal_bool,  iff_wf,  cs-archived_wf,  fpf-domain-join,  cons_member,  fpf_ap_single_lemma,  uiff_transitivity,  member-fpf-domain
\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.
                (three-intersection(A;W)
                {}\mRightarrow{}  (\mforall{}ws\mmember{}W.\mforall{}x:ts-reachable(consensus-ts4(V;A;W))
                                        \mexists{}y:ConsensusState
                                          ((x  rel\_star(ConsensusState;  \mlambda{}x,y.  CR(in  ws)[x,  y]  )  y)
                                          \mwedge{}  (\mexists{}v:V.  \mexists{}i:\mBbbZ{}.  in  state  y,  inning  i  has  committed  v))))))



Date html generated: 2015_07_17-AM-11_39_52
Last ObjectModification: 2015_07_16-AM-10_24_50

Home Index