{ [A,B:'].
    C:{C:'| valueall-type(C)} . F:bag(A)  bag(B)  bag(C)  bag(C).
    init:Id  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;F|X, Y, Prior(self)?init|)) }

{ Proof }



Definitions occuring in Statement :  Message: Message,  normal-locally-programmable: NormalLProgrammable(A;X),  rec-combined-class-opt-2: F|X, Y, Prior(self)?init|,  eclass: EClass(A[eo; e]),  Id: Id,  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 :  Message_wf,  normal-locally-programmable_wf,  rec-combined-class-opt-2_wf,  Id_wf,  dataflow-program_wf,  local-program-at_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,  decidable__or,  decidable__squash,  decidable__implies_better,  decidable__implies,  pos_length2

\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{}init:Id  {}\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;F|X,  Y,  Prior(self)?init|))


Date html generated: 2011_08_17-PM-04_10_35
Last ObjectModification: 2011_07_25-PM-05_55_26

Home Index