Nuprl Lemma : SM-gen-class-classrel
[es:EO']. 
[e:E]. 
[S:
']. 
[n:
]. 
[m:{1..n + 1
}]. 
[A:{m..n + 1
} 
 
']. 
[init:Id 
 bag(S)].
[trXs:k:{m..n + 1
} 
 (Id 
 A k 
 S 
 S 
 EClass'(A k))]. 
[s:S].
  uiff(s 
 SM-gen-class(init;n;m;trXs)(e);
L:(n:{m..n + 1
} 
 A n 
 E) List
                                            (classrel-multi-list(es;A;
n.(snd((trXs n)));L;e;m;n + 1)
                                            
 (
null(L))
                                            
 (e = (snd(snd(last(L)))))
                                            
 (
x:S
                                                (x 
 init loc(e)
                                                
 (s
                                                  = list_accum(a,b.(fst((trXs (fst(b))))) loc(snd(snd(b))) 
                                                                   (fst(snd(b))) 
                                                                   a;
                                                               x;
                                                               L))))))
Proof not projected
Definitions occuring in Statement : 
classrel-multi-list: classrel-multi-list(es;A;Xs;L;e;n1;n2), 
SM-gen-class: SM-gen-class(init;n;m;trXs), 
Message: Message, 
classrel: v 
 X(e), 
eclass: EClass(A[eo; e]), 
event-ordering+: EO+(Info), 
es-loc: loc(e), 
es-E: E, 
Id: Id, 
null: null(as), 
assert:
b, 
int_seg: {i..j
}, 
nat_plus: 
, 
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, 
add: n + m, 
natural_number: $n, 
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 : 
eclass: EClass(A[eo; e]), 
uiff: uiff(P;Q), 
classrel: v 
 X(e), 
squash:
T, 
exists:
x:A. B[x], 
and: P 
 Q, 
pi2: snd(t), 
not:
A, 
bag-member: x 
 bs, 
pi1: fst(t), 
all:
x:A. B[x], 
member: t 
 T, 
subtype: S 
 T, 
nat:
, 
implies: P 
 Q, 
ge: i 
 j , 
le: A 
 B, 
false: False, 
prop:
, 
true: True, 
uimplies: b supposing a, 
so_lambda: 
x.t[x], 
cand: A c
 B, 
label: ...$L... t, 
top: Top, 
so_lambda: 
x y.t[x; y], 
assert:
b, 
null: null(as), 
last: last(L), 
band: p 
 q, 
btrue: tt, 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
select: l[i], 
length: ||as||, 
ycomb: Y, 
le_int: i 
z j, 
bnot: 
b, 
lt_int: i <z j, 
classrel-multi-list: classrel-multi-list(es;A;Xs;L;e;n1;n2), 
l_all: (
x
L.P[x]), 
iff: P 

 Q, 
rev_implies: P 
 Q, 
so_apply: x[s], 
int_seg: {i..j
}, 
sorted-by: sorted-by(R;L), 
lelt: i 
 j < k, 
or: P 
 Q, 
guard: {T}, 
l_disjoint: l_disjoint(T;l1;l2), 
Id: Id, 
es-le: e 
loc e' , 
list_accum: list_accum(x,a.f[x; a];y;l), 
map: map(f;as), 
es-p-local-pred: es-p-local-pred(es;P), 
listp: A List
, 
nat_plus: 
, 
strongwellfounded: SWellFounded(R[x; y]), 
uall:
[x:A]. B[x], 
so_apply: x[s1;s2], 
es-locl: (e <loc e'), 
sq_type: SQType(T), 
l_member: (x 
 l), 
rev_uimplies: rev_uimplies(P;Q), 
decidable: Dec(P), 
sq_stable: SqStable(P), 
append: as @ bs, 
gt: i > j, 
no_repeats: no_repeats(T;l), 
bool:
, 
unit: Unit, 
it:
Lemmas : 
es-causl-swellfnd, 
event-ordering+_inc, 
Message_wf, 
nat_properties, 
ge_wf, 
less_than_wf, 
nat_wf, 
le_wf, 
es-causl_wf, 
classrel_wf, 
SM-gen-class_wf, 
squash_wf, 
exists_wf, 
int_seg_wf, 
es-E_wf, 
classrel-multi-list_wf, 
pi2_wf, 
eclass_wf2, 
not_wf, 
assert_wf, 
null_wf3, 
top_wf, 
pi1_wf_top, 
last_wf, 
bag-member_wf, 
es-loc_wf, 
list_accum_wf, 
Id_wf, 
subtype_rel_simple_product, 
event-ordering+_wf, 
bag_wf, 
subtype_rel_self, 
equal_wf, 
nat_plus_wf, 
SM-gen-classrel-step, 
primed-class-opt-classrel, 
append_wf, 
null_append, 
last_append, 
false_wf, 
not_assert_elim, 
subtype_base_sq, 
bool_wf, 
bool_subtype_base, 
and_wf, 
band_wf, 
l_member_wf, 
member_append, 
member_singleton, 
true_wf, 
eclass_wf, 
sorted-by-append, 
es-locl_wf, 
length_wf, 
int_subtype_base, 
lelt_wf, 
select_wf, 
es-locl_transitivity2, 
es-le_weakening, 
map_append, 
no_repeats_wf, 
no_repeats-append, 
map_wf, 
no_repeats-single, 
es-locl_irreflexivity, 
decidable__es-le, 
decidable__es-locl, 
es-le-not-locl, 
es-le_wf, 
all_wf, 
cons_member, 
primed-class-opt-exists, 
atom2_subtype_base, 
primed-class-opt_wf, 
es-locl_transitivity1, 
or_functionality_wrt_iff, 
list_accum_append, 
nil_member, 
sq_stable__classrel, 
firstn_wf, 
pair-eta, 
firstn_last, 
length_wf_nat, 
member_wf, 
non_neg_length, 
length_zero, 
iff_wf, 
es-p-local-pred_wf, 
es-le_weakening_eq, 
or_wf, 
iff_functionality_wrt_iff, 
pos_length2, 
member_map, 
last_member, 
length-map, 
length-append, 
uall_wf, 
isect_wf, 
length_nil, 
length_wf_nil, 
length_cons, 
iff_imp_equal_bool, 
lt_int_wf, 
btrue_wf, 
iff_weakening_uiff, 
assert_of_lt_int, 
le_int_wf, 
bnot_wf, 
select-map, 
select_append, 
uiff_transitivity, 
eqtt_to_assert, 
eqff_to_assert, 
assert_functionality_wrt_uiff, 
bnot_of_lt_int, 
assert_of_le_int, 
bfalse_wf, 
event_ordering_wf, 
select-append, 
classrel-multi-list-prefix
\mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[S:\mBbbU{}'].  \mforall{}[n:\mBbbN{}\msupplus{}].  \mforall{}[m:\{1..n  +  1\msupminus{}\}].  \mforall{}[A:\{m..n  +  1\msupminus{}\}  {}\mrightarrow{}  \mBbbU{}'].  \mforall{}[init:Id  {}\mrightarrow{}  bag(S)].
\mforall{}[trXs:k:\{m..n  +  1\msupminus{}\}  {}\mrightarrow{}  (Id  {}\mrightarrow{}  A  k  {}\mrightarrow{}  S  {}\mrightarrow{}  S  \mtimes{}  EClass'(A  k))].  \mforall{}[s:S].
    uiff(s  \mmember{}  SM-gen-class(init;n;m;trXs)(e);\mdownarrow{}\mexists{}L:(n:\{m..n  +  1\msupminus{}\}  \mtimes{}  A  n  \mtimes{}  E)  List
                                                                                        (classrel-multi-list(es;A;\mlambda{}n.(snd((trXs  n)));L;e;m;n
                                                                                          +  1)
                                                                                        \mwedge{}  (\mneg{}\muparrow{}null(L))
                                                                                        \mwedge{}  (e  =  (snd(snd(last(L)))))
                                                                                        \mwedge{}  (\mexists{}x:S
                                                                                                (x  \mdownarrow{}\mmember{}  init  loc(e)
                                                                                                \mwedge{}  (s
                                                                                                    =  list\_accum(a,b.(fst((trXs  (fst(b))))) 
                                                                                                                                      loc(snd(snd(b))) 
                                                                                                                                      (fst(snd(b))) 
                                                                                                                                      a;
                                                                                                                              x;
                                                                                                                              L))))))
Date html generated:
2012_01_23-PM-01_22_14
Last ObjectModification:
2012_01_06-PM-05_37_38
Home
Index