Nuprl Lemma : SM1-class-classrel
[es:EO']. 
[e:E]. 
[A,B:
']. 
[init:Id 
 bag(B)]. 
[trX:Id 
 A 
 B 
 B 
 EClass'(A)]. 
[v:B].
  uiff(v 
 SM1-class(init;trX)(e);
L:(A 
 E) List
                                    (classrel-list(es;A;snd(trX);L;e)
                                    
 (
null(L))
                                    
 (e = last(map(
p.(snd(p));L)))
                                    
 (
x:B
                                        (x 
 init loc(e) 
 (v = list_accum(b,a.(fst(trX)) loc(e) (fst(a)) b;x;L))))))
Proof not projected
Definitions occuring in Statement : 
classrel-list: classrel-list(es;A;X;L;e), 
SM1-class: SM1-class(init;trX), 
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: x 
 bs, 
bag: bag(T)
Definitions : 
so_lambda: 
x y.t[x; y], 
top: Top, 
cand: A c
 B, 
so_lambda: 
x.t[x], 
prop:
, 
true: True, 
uimplies: b supposing a, 
subtype: S 
 T, 
all:
x:A. B[x], 
member: t 
 T, 
pi1: fst(t), 
bag-member: x 
 bs, 
pi2: snd(t), 
and: P 
 Q, 
exists:
x:A. B[x], 
squash:
T, 
classrel: v 
 X(e), 
uiff: uiff(P;Q), 
eclass: EClass(A[eo; e]), 
compose: f o g, 
false: False, 
implies: P 
 Q, 
le: A 
 B, 
lelt: i 
 j < k, 
int_seg: {i..j
}, 
nat_plus: 
, 
not:
A, 
label: ...$L... t, 
rev_implies: P 
 Q, 
iff: P 

 Q, 
classrel-list: classrel-list(es;A;X;L;e), 
l_all: (
x
L.P[x]), 
sorted-by: sorted-by(R;L), 
or: P 
 Q, 
ycomb: Y, 
map: map(f;as), 
list_accum: list_accum(x,a.f[x; a];y;l), 
Id: Id, 
ge: i 
 j , 
SM1-class: SM1-class(init;trX), 
classrel-multi-list: classrel-multi-list(es;A;Xs;L;e;n1;n2), 
last: last(L), 
so_apply: x[s], 
so_apply: x[s1;s2], 
uall:
[x:A]. B[x], 
guard: {T}, 
sq_type: SQType(T), 
nat:
, 
l_member: (x 
 l), 
es-locl: (e <loc e')
Lemmas : 
bag_wf, 
event-ordering+_wf, 
Id_wf, 
pi1_wf_top, 
es-loc_wf, 
bag-member_wf, 
null-map, 
pi2_wf, 
map_wf, 
last_wf, 
top_wf, 
null_wf3, 
assert_wf, 
not_wf, 
classrel-list_wf, 
exists_wf, 
squash_wf, 
SM1-class_wf, 
Message_wf, 
classrel_wf, 
event-ordering+_inc, 
es-E_wf, 
list_accum_wf, 
map-map, 
int_seg_wf, 
lelt_wf, 
SM-gen-class-classrel, 
l_member_wf, 
eclass_wf2, 
es-le_wf, 
and_wf, 
pair-eta, 
int_subtype_base, 
subtype_base_sq, 
member_map, 
select-map, 
length_wf, 
length-map, 
all_wf, 
last-map, 
equal_wf, 
atom2_subtype_base, 
l_all-cons, 
l_all_wf2, 
ge_wf, 
classrel-multi-list_wf, 
select_member, 
select_wf
\mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[A,B:\mBbbU{}'].  \mforall{}[init:Id  {}\mrightarrow{}  bag(B)].  \mforall{}[trX:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B  \mtimes{}  EClass'(A)].  \mforall{}[v:B].
    uiff(v  \mmember{}  SM1-class(init;trX)(e);\mdownarrow{}\mexists{}L:(A  \mtimes{}  E)  List
                                                                        (classrel-list(es;A;snd(trX);L;e)
                                                                        \mwedge{}  (\mneg{}\muparrow{}null(L))
                                                                        \mwedge{}  (e  =  last(map(\mlambda{}p.(snd(p));L)))
                                                                        \mwedge{}  (\mexists{}x:B
                                                                                (x  \mdownarrow{}\mmember{}  init  loc(e)
                                                                                \mwedge{}  (v  =  list\_accum(b,a.(fst(trX))  loc(e)  (fst(a))  b;x;L))))))
Date html generated:
2012_01_23-PM-01_23_04
Last ObjectModification:
2011_12_13-PM-05_07_15
Home
Index