{ [A,B:'].
    C:{C:'| valueall-type(C)} . F:bag(A)  bag(B)  bag(C)  bag(C).
      [X:EClass(A)]. [Y:EClass(B)].
        (((s:bag(C)
              ((as:bag(A). (F[as;{};s] = {}))
               (bs:bag(B). (F[{};bs;s] = {}))))
          (s:bag(C). (F[{};{};s] = {})))
         NormalLProgrammable'(A;X)
         NormalLProgrammable'(B;Y)
         NormalLProgrammable'(C;x,y,s.F[x;y;s]|X,Y,Prior(self)|)) }

{ Proof }



Definitions occuring in Statement :  Message: Message,  normal-locally-programmable: NormalLProgrammable(A;X),  rec-combined-class2: a,b,s.F[a; b; s]|X,Y,Prior(self)|,  eclass: EClass(A[eo; e]),  uall: [x:A]. B[x],  so_apply: x[s1;s2;s3],  all: x:A. B[x],  squash: T,  implies: P  Q,  or: P  Q,  and: P  Q,  set: {x:A| B[x]} ,  function: x:A  B[x],  universe: Type,  equal: s = t,  empty-bag: {},  bag: bag(T),  valueall-type: valueall-type(T)
Lemmas :  rec-combined-class-locally-programmable1,  pos_length2,  sq_stable__equal,  int_subtype_base,  subtype_base_sq,  decidable__equal_int,  top_wf,  rec-combined-class-locally-programmable2,  subtype_rel_wf,  Message-inhabited,  nat_wf,  not_wf,  false_wf,  le_wf,  int_seg_wf,  select_wf,  length_wf_nat,  length_nil,  length_cons,  non_neg_length,  int_seg_properties,  length_wf1,  event-ordering+_inc,  event-ordering+_wf,  es-E_wf,  sq_stable_from_decidable,  sq_stable__uall,  sq_stable__all,  uall_wf,  member_wf,  eclass_wf2,  eclass_wf3,  empty-bag_wf,  valueall-type_wf,  eclass_wf,  bag_wf,  squash_wf,  local-program-at_wf,  dataflow-program_wf,  Id_wf,  normal-locally-programmable_wf,  rec-combined-class2_wf,  Message_wf

\mforall{}[A,B:\mBbbU{}'].
    \mforall{}C:\{C:\mBbbU{}'|  valueall-type(C)\}  .  \mforall{}F:bag(A)  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(C)  {}\mrightarrow{}  bag(C).
        \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].
            (((\mdownarrow{}\mforall{}s:bag(C).  ((\mforall{}as:bag(A).  (F[as;\{\};s]  =  \{\}))  \mwedge{}  (\mforall{}bs:bag(B).  (F[\{\};bs;s]  =  \{\}))))
              \mvee{}  (\mdownarrow{}\mforall{}s:bag(C).  (F[\{\};\{\};s]  =  \{\})))
            {}\mRightarrow{}  NormalLProgrammable'(A;X)
            {}\mRightarrow{}  NormalLProgrammable'(B;Y)
            {}\mRightarrow{}  NormalLProgrammable'(C;x,y,s.F[x;y;s]|X,Y,Prior(self)|))


Date html generated: 2011_08_17-PM-04_09_47
Last ObjectModification: 2011_06_29-AM-10_59_14

Home Index