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

{ Proof }



Definitions occuring in Statement :  Message: Message normal-locally-programmable: NormalLProgrammable(A;X) rec-combined-loc-class-opt-3: rec-combined-loc-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;s5] 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 :  Id_wf dataflow-program_wf Message_wf local-program-at_wf rec-combined-loc-class-opt-3_wf normal-locally-programmable_wf squash_wf bag_wf eclass_wf valueall-type_wf empty-bag_wf eclass_wf3 eclass_wf2 member_wf uall_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 decidable__or decidable__squash pos_length2

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


Date html generated: 2011_08_17-PM-04_11_00
Last ObjectModification: 2011_07_25-PM-05_55_44

Home Index