Nuprl Lemma : Accum-classrel1

[B,A:']. [f:A  B  B]. [init:Id  bag(B)]. [X:EClass'(A)]. [es:EO']. [e:E]. [v:B].
  uiff(v  Accum-class(f;init;X)(e);L:(A  E) List
                                      (classrel-list(es;A;X;L;e)
                                       (null(L))
                                       (e = last(map(p.(snd(p));L)))
                                       (x:B
                                          (bag-member(B;x;init loc(e))
                                           (v = list_accum(b,a.f a b;x;map(p.(fst(p));L)))))))


Proof not projected




Definitions occuring in Statement :  classrel-list: classrel-list(es;A;X;L;e),  Accum-class: Accum-class(f;init;X),  Message: Message,  classrel: v  X(e),  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-loc: loc(e),  es-E: E,  Id: Id,  map: map(f;as),  null: null(as),  assert: b,  uiff: uiff(P;Q),  uall: [x:A]. B[x],  pi1: fst(t),  pi2: snd(t),  exists: x:A. B[x],  not: A,  squash: T,  and: P  Q,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  product: x:A  B[x],  list: type List,  universe: Type,  equal: s = t,  list_accum: list_accum(x,a.f[x; a];y;l),  last: last(L),  bag-member: bag-member(T;x;bs),  bag: bag(T)
Lemmas :  firstn_length,  firstn_append,  firstn_map,  bfalse_wf,  nth_tl_is_nil,  nth_tl_decomp,  nth_tl_map,  list_accum_split,  map_length,  classrel-list-prefix,  listp_wf,  atom2_subtype_base,  es-first_wf,  es-loc-pred,  es-le-loc,  assert_of_lt_int,  iff_weakening_uiff,  iff_functionality_wrt_iff,  iff_imp_equal_bool,  btrue_wf,  lt_int_wf,  select_append,  int_subtype_base,  map_select,  event_ordering_wf,  length-map,  length_append,  length_cons,  length_nil,  es-p-local-pred_wf,  list_subtype_base,  product_subtype_base,  length_zero,  length_wf_nat,  non_neg_length,  gt_wf,  firstn_last,  pair-eta,  firstn_wf,  length_wf1,  last-map,  list_accum_append,  last_append,  not_assert_elim,  null_append,  bool_subtype_base,  band_wf,  es-le_weakening,  cons_member,  primed-class-opt-exists,  es-le-not-locl,  decidable__es-locl,  decidable__es-le,  decidable__es-E-equal,  decidable__l_member,  l_member_subtype,  member_append,  es-locl_irreflexivity,  es-le_weakening_eq,  es-locl_transitivity2,  null_wf,  ifthenelse_wf,  member_singleton,  not_functionality_wrt_iff,  no_repeats-single,  l_disjoint_wf,  map_append_sq,  no_repeats-append,  es-causl_weakening,  es-locl_transitivity1,  member_map,  sorted-by-append,  select_wf,  int_seg_wf,  uall_wf,  iff_transitivity,  l_all_append,  and_functionality_wrt_iff,  rev_implies_wf,  l_all_single,  l_all_wf2,  true_wf,  set_subtype_base,  subtype_base_sq,  pi1_wf,  pos_length2,  l_all_wf,  sorted-by_wf,  es-locl_wf,  no_repeats_wf,  iff_wf,  es-le_wf,  l_member_wf,  append_wf,  primed-class-opt-classrel,  lifting-2_wf,  simple-comb-2-classrel,  primed-class-opt_wf,  rec-combined-class-opt-1_wf,  rec-combined-class-opt-1-classrel,  es-causl_wf,  le_wf,  ge_wf,  nat_properties,  nat_wf,  uiff_wf,  es-causl-swellfnd,  pi1_wf_top,  list_accum_wf,  bool_wf,  null-map,  subtype_rel_wf,  intensional-universe_wf,  false_wf,  es-loc_wf,  pi2_wf,  map_wf,  last_wf,  member_wf,  top_wf,  null_wf3,  subtype_rel_self,  es-base-E_wf,  eclass_wf,  eclass_wf3,  eclass_wf2,  event-ordering+_wf,  event-ordering+_inc,  Id_wf,  bag_wf,  sq_stable__uiff,  sq_stable__classrel,  sq_stable__squash,  classrel_wf,  Message_wf,  Accum-class_wf,  squash_wf,  bag-member_wf,  es-E_wf,  assert_wf,  not_wf,  classrel-list_wf

\mforall{}[B,A:\mBbbU{}'].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  B].  \mforall{}[init:Id  {}\mrightarrow{}  bag(B)].  \mforall{}[X:EClass'(A)].  \mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[v:B].
    uiff(v  \mmember{}  Accum-class(f;init;X)(e);\mdownarrow{}\mexists{}L:(A  \mtimes{}  E)  List
                                                                            (classrel-list(es;A;X;L;e)
                                                                            \mwedge{}  (\mneg{}\muparrow{}null(L))
                                                                            \mwedge{}  (e  =  last(map(\mlambda{}p.(snd(p));L)))
                                                                            \mwedge{}  (\mexists{}x:B
                                                                                    (bag-member(B;x;init  loc(e))
                                                                                    \mwedge{}  (v  =  list\_accum(b,a.f  a  b;x;map(\mlambda{}p.(fst(p));L)))))))


Date html generated: 2011_10_20-PM-03_45_52
Last ObjectModification: 2011_08_24-PM-12_47_29

Home Index