Nuprl Lemma : Memory2-prc_wf

A,B,C:{T:'| valueall-type(T)} . init:Id  bag(C). tr1:Id  A  C  C.
  [X1:EClass'(A)]
    tr2:Id  B  C  C
      [X2:EClass'(B)]
        Xpr1:NormalLProgrammable'(A;X1). Xpr2:NormalLProgrammable'(B;X2).
          (Memory2-prc(A;B;C;init;tr1;Xpr1;tr2;Xpr2)  NormalLProgrammable'(C;Memory2(init;tr1;X1;tr2;X2)))


Proof not projected




Definitions occuring in Statement :  Memory2-prc: Memory2-prc(A;B;C;init;tr1;Xpr1;tr2;Xpr2) Memory2: Memory2(init;tr1;X1;tr2;X2) Message: Message normal-locally-programmable: NormalLProgrammable(A;X) eclass: EClass(A[eo; e]) Id: Id uall: [x:A]. B[x] all: x:A. B[x] member: t  T set: {x:A| B[x]}  function: x:A  B[x] universe: Type bag: bag(T) valueall-type: valueall-type(T)
Definitions :  all: x:A. B[x] bag: bag(T) uall: [x:A]. B[x] eclass: EClass(A[eo; e]) member: t  T Memory2-prc: Memory2-prc(A;B;C;init;tr1;Xpr1;tr2;Xpr2) length: ||as|| select-tuple: x.n delay-program: delay-program lifting-loc-2: lifting-loc-2(f) disjoint-union-tr: tr1 + tr2 Memory2-locally-programmable primed-class-opt-nlp primed-class-opt-locally-programmable upto: upto(n) feedback-prog: feedback-prog bl-all: (xL.P[x])_b bnot: b isl: isl(x) map: map(f;as) unit: Unit evalall: evalall(t) let: let ifthenelse: if b then t else f fi  lt_int: i <z j bag-size: bag-size(bs) band: p  q eq_int: (i = j) it: spreadn: spread4 rec-combined-loc-class-opt-1-nlp rec-comb-locally-programmable1 feedback-df-program-case1: feedback-df-program-case1(B;F;dfps;init) ycomb: Y from-upto: [n, m) btrue: tt bfalse: ff tuple-type: tuple-type(L) df-program-statetype: df-program-statetype(dfp) tuple: tuple(n;i.F[i]) df-program-state: df-program-state(dfp) select: l[i] empty-bag: {} ap2-tuple: ap2-tuple(len;f;x;t) map-tuple: map-tuple(len;f;t) pi2: snd(t) pi1: fst(t) null: null(as) so_apply: x[s1;s2] bag-append: as + bs lifting-1: lifting-1(f) decidable__equal_int disjoint-union-comb-nlp parallel-class-nlp simple-comb-2-nlp simple-comb2-nlp simple-comb-locally-programmable1 append: as @ bs so_apply: x[s] simple-comb-1-nlp simple-comb1-nlp lifting1: lifting1(f;b) lifting-gen-rev: lifting-gen-rev(n;f;bags) permutation: permutation(T;L1;L2) int_seg: {i..j} and: P  Q inject: Inj(A;B;f) permute_list: (L o f) exists: x:A. B[x] lelt: i  j < k le: A  B false: False not: A implies: P  Q mklist: mklist(n;f) le_int: i z j reduce: reduce(f;k;as) lifting2-loc: lifting2-loc(f;loc;abag;bbag) lifting-loc-gen-rev: lifting-loc-gen-rev(n;bags;loc;f) outl: outl(x) outr: outr(x) prop: so_lambda: x.t[x] label: ...$L... t spreadn: spread3 subtype: S  T
Lemmas :  all_wf valueall-type_wf Id_wf bag_wf uall_wf event-ordering+_wf Message_wf es-E_wf event-ordering+_inc normal-locally-programmable_wf Memory2_wf equal_wf eclass_wf2

\mforall{}A,B,C:\{T:\mBbbU{}'|  valueall-type(T)\}  .  \mforall{}init:Id  {}\mrightarrow{}  bag(C).  \mforall{}tr1:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  C  {}\mrightarrow{}  C.
    \mforall{}[X1:EClass'(A)]
        \mforall{}tr2:Id  {}\mrightarrow{}  B  {}\mrightarrow{}  C  {}\mrightarrow{}  C
            \mforall{}[X2:EClass'(B)]
                \mforall{}Xpr1:NormalLProgrammable'(A;X1).  \mforall{}Xpr2:NormalLProgrammable'(B;X2).
                    (Memory2-prc(A;B;C;init;tr1;Xpr1;tr2;Xpr2)
                    \mmember{}  NormalLProgrammable'(C;Memory2(init;tr1;X1;tr2;X2)))


Date html generated: 2012_01_23-PM-01_29_17
Last ObjectModification: 2012_01_12-AM-11_00_37

Home Index