Nuprl Lemma : ler_list_Propose

es:EO'. nodes:bag(Id). client:Id. uid:Id  .
  (((ler_leader_ring_message-constraint{i:l}(client;nodes;uid) es)
   ler_non_dummy_configuration(es;nodes)
   ler_non_dummy_request(es))
   (e:E. epoch,k:. e':{e':E| (e' <loc e)} . l:Id.
        (<epoch, k>  ler_Propose()(e)
         <epoch, l>  ler_Config()(e')
         (e1,e2:E
              L:E  E List
               (epoch  ler_Choose()(e1)
                <epoch, loc(fst(L[0]))>  ler_Config()(e2)
                ((e2 <loc e1)  loc(e1)  nodes)
                (<e, e'> = last(L))
                (e1 < fst(L[0]))
                <epoch, uid loc(e1)>  ler_Propose()(fst(L[0]))
                (snd(L[0]) <loc fst(L[0]))
                (i:{1..||L||}
                    ((fst(L[i - 1]) < fst(L[i]))
                     <epoch, loc(fst(L[i]))>  ler_Config()(snd(L[i - 1]))
                     ((snd(L[i]) <loc fst(L[i]))  loc(snd(L[i - 1]))  nodes)
                     <epoch, imax-list([uid loc(e1) / firstn(i;map(p.(uid loc(fst(p)));L))])> 
                       ler_Propose()(fst(L[i])))))))))


Proof not projected




Definitions occuring in Statement :  ler_non_dummy_request: ler_non_dummy_request(es),  ler_non_dummy_configuration: ler_non_dummy_configuration(es;nodes),  ler_leader_ring_message-constraint: ler_leader_ring_message-constraint{i:l}(client;nodes;uid),  ler_Propose: ler_Propose(),  ler_Choose: ler_Choose(),  ler_Config: ler_Config(),  Message: Message,  classrel: v  X(e),  event-ordering+: EO+(Info),  es-locl: (e <loc e'),  es-causl: (e < e'),  es-loc: loc(e),  es-E: E,  Id: Id,  select: l[i],  firstn: firstn(n;as),  map: map(f;as),  length: ||as||,  int_seg: {i..j},  pi1: fst(t),  pi2: snd(t),  all: x:A. B[x],  exists: x:A. B[x],  squash: T,  implies: P  Q,  and: P  Q,  set: {x:A| B[x]} ,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  pair: <a, b>,  product: x:A  B[x],  cons: [car / cdr],  subtract: n - m,  natural_number: $n,  int: ,  equal: s = t,  listp: A List,  last: last(L),  bag-member: x  bs,  bag: bag(T),  imax-list: imax-list(L)
Definitions :  all: x:A. B[x],  implies: P  Q,  and: P  Q,  ler_non_dummy_configuration: ler_non_dummy_configuration(es;nodes),  ler_non_dummy_request: ler_non_dummy_request(es),  squash: T,  gt: i > j,  member: t  T,  nat: ,  ge: i  j ,  le: A  B,  not: A,  false: False,  prop: ,  true: True,  exists: x:A. B[x],  listp: A List,  length: ||as||,  subtype: S  T,  top: Top,  ycomb: Y,  so_lambda: x.t[x],  assert: b,  ifthenelse: if b then t else f fi ,  btrue: tt,  iff: P  Q,  rev_implies: P  Q,  select: l[i],  last: last(L),  lt_int: i <z j,  bfalse: ff,  le_int: i z j,  bnot: b,  pi1: fst(t),  pi2: snd(t),  int_seg: {i..j},  lelt: i  j < k,  or: P  Q,  imax-list: imax-list(L),  firstn: firstn(n;as),  map: map(f;as),  append: as @ bs,  hd: hd(l),  tl: tl(l),  list_accum: list_accum(x,a.f[x; a];y;l),  name: Name,  label: ...$L... t,  strongwellfounded: SWellFounded(R[x; y]),  uall: [x:A]. B[x],  uimplies: b supposing a,  es-p-local-pred: es-p-local-pred(es;P),  uiff: uiff(P;Q),  ler_dumEpoch: ler_dumEpoch(),  rev_uimplies: rev_uimplies(P;Q),  so_apply: x[s],  sq_type: SQType(T),  guard: {T},  sq_stable: SqStable(P),  bool: ,  unit: Unit,  es-locl: (e <loc e'),  ler_Propose: ler_Propose(),  single-valued-classrel: single-valued-classrel(es;X;T),  it:
Lemmas :  es-causl-swellfnd,  nat_properties,  ge_wf,  nat_wf,  le_wf,  es-causl_wf,  ler_Propose_from_Propose_or_Choose,  classrel_wf,  ler_Config_wf,  ler_Propose_wf,  es-locl_wf,  ler_leader_ring_message-constraint_wf,  es-E_wf,  event-ordering+_inc,  Message_wf,  Id_wf,  gt_wf,  bag-member_wf,  ler_Choose_wf,  bag_wf,  event-ordering+_wf,  prior-classrel-p-local-pred,  ler_Nbr_wf,  es-loc_wf,  ler_Nbr_from_Config,  es-locl_transitivity1,  append_wf,  length-append,  top_wf,  assert_of_lt_int,  length_wf,  non_neg_length,  length_wf_nat,  assert_wf,  lt_int_wf,  listp_properties,  pos_length2,  int_seg_properties,  firstn_wf,  map_wf,  pi1_wf_top,  length_firstn,  map_length,  select_wf,  last_wf,  Error :pi2_wf,  int_seg_wf,  imax-list_wf,  listp_wf,  select-append,  subtype_base_sq,  bool_subtype_base,  iff_imp_equal_bool,  btrue_wf,  iff_functionality_wrt_iff,  true_wf,  iff_weakening_uiff,  int_subtype_base,  bfalse_wf,  false_wf,  bool_wf,  le_int_wf,  bnot_wf,  sq_stable_from_decidable,  decidable__es-locl,  uiff_transitivity,  eqtt_to_assert,  eqff_to_assert,  assert_functionality_wrt_uiff,  bnot_of_lt_int,  assert_of_le_int,  es-le-loc,  map_append_sq,  firstn_append,  length-map,  list_decomp,  hd_wf,  tl_wf,  select0,  single-valued-classrel-base,  imax_wf,  squash_wf,  firstn_decomp,  select-map,  length_nil,  length_cons,  length_append,  imax-imax-list-left,  cons_wf_listp,  event_ordering_wf

\mforall{}es:EO'.  \mforall{}nodes:bag(Id).  \mforall{}client:Id.  \mforall{}uid:Id  {}\mrightarrow{}  \mBbbZ{}.
    (((ler\_leader\_ring\_message-constraint\{i:l\}(client;nodes;uid)  es)
    \mwedge{}  ler\_non\_dummy\_configuration(es;nodes)
    \mwedge{}  ler\_non\_dummy\_request(es))
    {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}epoch,k:\mBbbZ{}.  \mforall{}e':\{e':E|  (e'  <loc  e)\}  .  \mforall{}l:Id.
                (<epoch,  k>  \mmember{}  ler\_Propose()(e)
                {}\mRightarrow{}  <epoch,  l>  \mmember{}  ler\_Config()(e')
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}e1,e2:E
                            \mexists{}L:E  \mtimes{}  E  List\msupplus{}
                              (epoch  \mmember{}  ler\_Choose()(e1)
                              \mwedge{}  <epoch,  loc(fst(L[0]))>  \mmember{}  ler\_Config()(e2)
                              \mwedge{}  ((e2  <loc  e1)  \mwedge{}  loc(e1)  \mdownarrow{}\mmember{}  nodes)
                              \mwedge{}  (<e,  e'>  =  last(L))
                              \mwedge{}  (e1  <  fst(L[0]))
                              \mwedge{}  <epoch,  uid  loc(e1)>  \mmember{}  ler\_Propose()(fst(L[0]))
                              \mwedge{}  (snd(L[0])  <loc  fst(L[0]))
                              \mwedge{}  (\mforall{}i:\{1..||L||\msupminus{}\}
                                        ((fst(L[i  -  1])  <  fst(L[i]))
                                        \mwedge{}  <epoch,  loc(fst(L[i]))>  \mmember{}  ler\_Config()(snd(L[i  -  1]))
                                        \mwedge{}  ((snd(L[i])  <loc  fst(L[i]))  \mwedge{}  loc(snd(L[i  -  1]))  \mdownarrow{}\mmember{}  nodes)
                                        \mwedge{}  <epoch,  imax-list([uid  loc(e1)  /  firstn(i;map(\mlambda{}p.(uid  loc(fst(p)));L))])>  \mmember{}
                                              ler\_Propose()(fst(L[i])))))))))


Date html generated: 2012_02_20-PM-06_06_41
Last ObjectModification: 2012_02_02-PM-02_40_07

Home Index