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: (xL.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