{ [A,B,C:'].
    D:{D:'| valueall-type(D)} . F:bag(A)
                                     bag(B)
                                     bag(C)
                                     bag(D)
                                     bag(D). init:Id  bag(D).
      [X:EClass(A)]. [Y:EClass(B)]. [Z:EClass'(C)].
        (((s:bag(D)
              ((as:bag(A). bs:bag(B).  (F[as;bs;{};s] = {}))
               (as:bag(A). cs:bag(C).  (F[as;{};cs;s] = {}))
               (bs:bag(B). [cs:bag(C)]. (F[{};bs;cs;s] = {}))))
          (s:bag(D). (F[{};{};{};s] = {})))
         NormalLProgrammable'(A;X)
         NormalLProgrammable'(B;Y)
         NormalLProgrammable'(C;Z)
         NormalLProgrammable'(D;rec-combined-class-opt-3(F;init;X;Y;Z))) }

{ Proof }



Definitions occuring in Statement :  Message: Message,  normal-locally-programmable: NormalLProgrammable(A;X),  rec-combined-class-opt-3: rec-combined-class-opt-3(F;init;X;Y;Z),  eclass: EClass(A[eo; e]),  Id: Id,  uall: [x:A]. B[x],  so_apply: x[s1;s2;s3;s4],  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-opt-3_wf,  Message_wf,  Id_wf,  dataflow-program_wf,  local-program-at_wf,  normal-locally-programmable_wf,  squash_wf,  bag_wf,  uall_wf,  eclass_wf,  valueall-type_wf,  empty-bag_wf,  eclass_wf3,  eclass_wf2,  member_wf,  sq_stable__all,  sq_stable__uall,  sq_stable_from_decidable,  es-E_wf,  event-ordering+_wf,  event-ordering+_inc,  rec-comb-locally-programmable1,  subtype_rel_wf,  Message-inhabited,  le_wf,  not_wf,  false_wf,  nat_wf,  int_seg_wf,  select_wf,  int_seg_properties,  length_wf_nat,  length_nil,  length_cons,  non_neg_length,  length_wf1,  top_wf,  decidable__equal_int,  subtype_base_sq,  int_subtype_base,  permutation_wf,  pos_length2

\mforall{}[A,B,C:\mBbbU{}'].
    \mforall{}D:\{D:\mBbbU{}'|  valueall-type(D)\}  .  \mforall{}F:bag(A)  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(C)  {}\mrightarrow{}  bag(D)  {}\mrightarrow{}  bag(D).
    \mforall{}init:Id  {}\mrightarrow{}  bag(D).
        \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].  \mforall{}[Z:EClass'(C)].
            (((\mdownarrow{}\mforall{}s:bag(D)
                        ((\mforall{}as:bag(A).  \mforall{}bs:bag(B).    (F[as;bs;\{\};s]  =  \{\}))
                        \mwedge{}  (\mforall{}as:bag(A).  \mforall{}cs:bag(C).    (F[as;\{\};cs;s]  =  \{\}))
                        \mwedge{}  (\mforall{}bs:bag(B).  \mforall{}[cs:bag(C)].  (F[\{\};bs;cs;s]  =  \{\}))))
              \mvee{}  (\mdownarrow{}\mforall{}s:bag(D).  (F[\{\};\{\};\{\};s]  =  \{\})))
            {}\mRightarrow{}  NormalLProgrammable'(A;X)
            {}\mRightarrow{}  NormalLProgrammable'(B;Y)
            {}\mRightarrow{}  NormalLProgrammable'(C;Z)
            {}\mRightarrow{}  NormalLProgrammable'(D;rec-combined-class-opt-3(F;init;X;Y;Z)))


Date html generated: 2011_08_17-PM-04_10_43
Last ObjectModification: 2011_07_25-PM-05_55_30

Home Index