Nuprl Lemma : Accum-classrel

[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
                                      (prior-classrel-list(es;A;X;L;e)
                                       (a:A
                                          (a  X(e)
                                           (x:B
                                              (bag-member(B;x;init loc(e))
                                               (v = (f a list_accum(b,a.f a b;x;map(p.(fst(p));L))))))))))


Proof not projected




Definitions occuring in Statement :  prior-classrel-list: prior-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) uiff: uiff(P;Q) uall: [x:A]. B[x] pi1: fst(t) exists: x:A. B[x] 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) bag-member: bag-member(T;x;bs) bag: bag(T)
Definitions :  uall: [x:A]. B[x] uiff: uiff(P;Q) squash: T exists: x:A. B[x] and: P  Q member: t  T all: x:A. B[x] label: ...$L... t prop: cand: A c B uimplies: b supposing a top: Top so_lambda: x y.t[x; y] true: True rev_implies: P  Q iff: P  Q implies: P  Q prior-classrel-list: prior-classrel-list(es;A;X;L;e) l_all: (xL.P[x]) subtype: S  T or: P  Q so_lambda: x.t[x] not: A assert: b null: null(as) last: last(L) map: map(f;as) ycomb: Y btrue: tt bfalse: ff ifthenelse: if b then t else f fi  select: l[i] length: ||as|| le_int: i z j bnot: b lt_int: i <z j classrel-list: classrel-list(es;A;X;L;e) pi2: snd(t) pi1: fst(t) guard: {T} l_disjoint: l_disjoint(T;l1;l2) es-le: e loc e'  band: p  q list_accum: list_accum(x,a.f[x; a];y;l) so_apply: x[s1;s2] so_apply: x[s] false: False bool: unit: Unit it:
Lemmas :  Accum-classrel1 es-E_wf event-ordering+_inc Message_wf event-ordering+_wf eclass_wf2 Id_wf bag_wf classrel_wf Accum-class_wf squash_wf last_wf null-map map_wf pi1_wf_top list_accum_wf uiff_functionality_wrt_uiff2 iff_weakening_uiff last_lemma prior-classrel-list_wf bag-member_wf es-loc_wf length_wf_nat top_wf nat_wf member_append l_member_wf member_wf sorted-by-append es-locl_wf pi2_wf sorted-by_wf no_repeats_wf map_append_sq no_repeats-append iff_wf es-le_wf append_wf all_functionality_wrt_iff iff_functionality_wrt_iff es-le_weakening last_append false_wf not_wf assert_wf null_wf3 map_functionality member_singleton es-locl_transitivity2 es-le_weakening_eq es-locl_irreflexivity member_map last_member true_wf eclass_wf list_accum_append classrel-list_wf l_all_append l_all_single sorted-by-single no_repeats-single iff_transitivity or_functionality_wrt_iff null_append bool_wf uiff_transitivity eqtt_to_assert assert_of_null bnot_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff

\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
                                                                            (prior-classrel-list(es;A;X;L;e)
                                                                            \mwedge{}  (\mexists{}a:A
                                                                                    (a  \mmember{}  X(e)
                                                                                    \mwedge{}  (\mexists{}x:B
                                                                                            (bag-member(B;x;init  loc(e))
                                                                                            \mwedge{}  (v
                                                                                                =  (f  a 
                                                                                                      list\_accum(b,a.f  a  b;
                                                                                                                            x;
                                                                                                                            map(\mlambda{}p.(fst(p));L))))))))))


Date html generated: 2011_10_20-PM-03_46_13
Last ObjectModification: 2011_08_24-PM-03_01_38

Home Index