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