{ [Info:{Info:Type| Info} ]
    B:{B:Type| valueall-type(B)} . n:.
      [A:n  Type]. [Xs:k:n  EClass(A k)].
        ((k:n. NormalLProgrammable(A k;Xs k))
         (F:k:n  bag(A k)  bag(B)
              NormalLProgrammable(B;simple-comb(F;Xs)) 
              supposing ((F (i.{})) = {})
               (f:k:n  bag(A k)
                   ((k:n. ((f k) = {}))  ((F f) = {}))))) }

{ Proof }



Definitions occuring in Statement :  normal-locally-programmable: NormalLProgrammable(A;X) simple-comb: simple-comb(F;Xs) eclass: EClass(A[eo; e]) int_seg: {i..j} nat: uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] squash: T implies: P  Q and: P  Q set: {x:A| B[x]}  apply: f a lambda: x.A[x] function: x:A  B[x] natural_number: $n universe: Type equal: s = t empty-bag: {} bag: bag(T) valueall-type: valueall-type(T)
Definitions :  set: {x:A| B[x]}  universe: Type dataflow-program: DataflowProgram(A) upto: upto(n) apply: f a map: map(f;as) select: l[i] df-program-type: df-program-type(dfp) bag: bag(T) function: x:A  B[x] int_seg: {i..j} equal: s = t product: x:A  B[x] exists: x:A. B[x] implies: P  Q all: x:A. B[x] natural_number: $n length: ||as|| lambda: x.A[x] es-E: E event-ordering+: EO+(Info) Id: Id member: t  T local-program-at: local-program-at{i:l}(Info;A;X;dfp;x) empty-bag: {} sq_exists: x:{A| B[x]} eclass: EClass(A[eo; e]) nat: es-loc: loc(e) suptype: suptype(S; T) subtype: S  T uall: [x:A]. B[x] isect: x:A. B[x] rationals: real: int: lelt: i  j < k and: P  Q less_than: a < b le: A  B not: A false: False prop: subtype_rel: A r B uiff: uiff(P;Q) uimplies: b supposing a ge: i  j  strong-subtype: strong-subtype(A;B) squash: T valueall-type: valueall-type(T) atom: Atom$n record+: record+ dep-isect: Error :dep-isect,  assert: b ifthenelse: if b then t else f fi  decide: case b of inl(x) =s[x] | inr(y) =t[y] eq_atom: eq_atom$n(x;y) eq_atom: x =a y record-select: r.x void: Void list: type List fpf: a:A fp-B[a] combination: Combination(n;T) listp: A List grp_car: |g|
Lemmas :  bool_subtype_base subtype_base_sq es-le-before-not-null pos-length equal-nil-sq-nil non_null_iff_length es-le-before_wf2 es-le_wf es-base-E_wf assert_wf int-valueall-type set-valueall-type list-valueall-type Id-has-valueall bfalse_wf btrue_wf real-has-value int_inc_real rational-has-value rationals_wf ifthenelse_wf bool_wf tunion_wf int_nzero_wf b-union_wf int-rational pos_length2 es-info_wf es-le-before_wf last_wf data-stream_wf df-program-meaning_wf last-stream-parallel-df-program-case2-meaning parallel-df-program-case2_wf subtype_rel-equal select-upto intensional-universe_wf unit_wf subtype_rel_bag select-map length_upto subtype_rel_sets subtype_rel_set top_wf length-map-sq nat_properties length-map int_seg_properties length_wf_nat true_wf subtype_rel_dep_function subtype_rel_self length_wf1 subtype_rel_function subtype_rel_wf false_wf not_wf le_wf member_wf df-program-type_wf select_wf map_wf upto_wf es-loc_wf sq_stable_from_decidable sq_stable__all simple-comb_wf dataflow-program_wf empty-bag_wf bag_wf normal-locally-programmable_wf eclass_wf es-E_wf event-ordering+_inc event-ordering+_wf nat_wf valueall-type_wf squash_wf local-program-at_wf Id_wf int_seg_wf

\mforall{}[Info:\{Info:Type|  \mdownarrow{}Info\}  ]
    \mforall{}B:\{B:Type|  valueall-type(B)\}  .  \mforall{}n:\mBbbN{}.
        \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[Xs:k:\mBbbN{}n  {}\mrightarrow{}  EClass(A  k)].
            ((\mforall{}k:\mBbbN{}n.  NormalLProgrammable(A  k;Xs  k))
            {}\mRightarrow{}  (\mforall{}F:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)  {}\mrightarrow{}  bag(B)
                        NormalLProgrammable(B;simple-comb(F;Xs)) 
                        supposing  ((F  (\mlambda{}i.\{\}))  =  \{\})
                        \mwedge{}  (\mforall{}f:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k).  ((\mexists{}k:\mBbbN{}n.  ((f  k)  =  \{\}))  {}\mRightarrow{}  ((F  f)  =  \{\})))))


Date html generated: 2011_08_16-PM-06_16_39
Last ObjectModification: 2011_06_29-PM-09_24_16

Home Index