{ Info:{Info:Type| Info} . B:{B:Type| valueall-type(B)} . n:. A:n  Type\000C.
  Xs:k:n  EClass(A k).
    ((k:n. Programmable(A k;Xs k))
     (F:k:n  bag(A k)  bag(B)
          Programmable(B;simple-comb(F;Xs)) supposing (F (k.{})) = {})) }

{ Proof }



Definitions occuring in Statement :  programmable: Programmable(A;X) simple-comb: simple-comb(F;Xs) eclass: EClass(A[eo; e]) int_seg: {i..j} nat: uimplies: b supposing a all: x:A. B[x] squash: T implies: 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 :  CollapseTHENA: Error :CollapseTHENA,  MaAuto: Error :MaAuto,  AssertBY: Error :AssertBY,  equal: s = t int: length: ||as|| map: map(f;as) upto: upto(n) CollapseTHEN: Error :CollapseTHEN,  Auto: Error :Auto,  universe: Type set: {x:A| B[x]}  apply: f a programmable: Programmable(A;X) function: x:A  B[x] all: x:A. B[x] implies: P  Q int_seg: {i..j} so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) nat: valueall-type: valueall-type(T) prop: squash: T bag: bag(T) uimplies: b supposing a isect: x:A. B[x] exists: x:A. B[x] product: x:A  B[x] fpf: a:A fp-B[a] list: type List member: t  T lambda: x.A[x] empty-bag: {} axiom: Ax simple-comb: simple-comb(F;Xs) le: A  B not: A false: False so_lambda: x.t[x] dataflow: dataflow(A;B) Id: Id uall: [x:A]. B[x] subtype_rel: A r B uiff: uiff(P;Q) and: P  Q less_than: a < b ge: i  j  strong-subtype: strong-subtype(A;B) fpf-join: f  g fpf-single: x : v limited-type: LimitedType natural_number: $n subtype: S  T grp_car: |g| real: event-ordering+: EO+(Info) es-E: E event_ordering: EO iff: P  Q eclass-program: eclass-program{i:l}(Info) bool: pair: <a, b> eclass-program-type: eclass-program-type(prg) defined-class: defined-class(prg) cand: A c B record+: record+ dep-isect: Error :dep-isect,  record-select: r.x ifthenelse: if b then t else f fi  eq_atom: x =a y token: "$token" es-base-E: es-base-E(es) top: Top atom: Atom eq_atom: eq_atom$n(x;y) lelt: i  j < k sq_type: SQType(T) guard: {T} es-E-interface: E(X) assert: b decide: case b of inl(x) =s[x] | inr(y) =t[y] pi1: fst(t) spread: spread def rev_implies: P  Q sqequal: s ~ t void: Void decidable: Dec(P) path-goes-thru: x-f*-y thru i cut-order: a (X;f) b collect-event: collect-event(es;X;n;v.num[v];L.P[L];e) same-thread: same-thread(es;p;e;e') es-r-immediate-pred: es-r-immediate-pred(es;R;e';e) es-fset-loc: i  locs(s) existse-between3: e(e1,e2].P[e] existse-between2: e[e1,e2].P[e] alle-between2: e[e1,e2].P[e] existse-between1: e[e1,e2).P[e] alle-between1: e[e1,e2).P[e] alle-le: ee'.P[e] alle-lt: e<e'.P[e] existse-le: ee'.P[e] existse-before: e<e'.P[e] es-causle: e c e' es-le: e loc e'  es-locl: (e <loc e') es-causl: (e < e') infix_ap: x f y consensus-rcv: consensus-rcv(V;A) cs-precondition: state s may consider v in inning i cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i cs-inning-committable: in state s, inning i could commit v  cs-inning-committed: in state s, inning i has committed v cs-passed: by state s, a passed inning i without archiving a value cs-archived: by state s, a archived v in inning i cs-not-completed: in state s, a has not completed inning i consensus-state3: consensus-state3(T) l_disjoint: l_disjoint(T;l1;l2) MaName: MaName Knd: Knd IdLnk: IdLnk fset-closed: (s closed under fs) fset: FSet{T} f-subset: xs  ys fset-member: a  s dstype: dstype(TypeNames; d; a) p-outcome: Outcome i-closed: i-closed(I) i-finite: i-finite(I) atom: Atom$n sq_exists: x:{A| B[x]} q-rel: q-rel(r;x) qless: r < s qle: r  s rationals: fun-connected: y is f*(x) l_all: (xL.P[x]) l_exists: (xL. P[x]) prime: prime(a) reducible: reducible(a) inject: Inj(A;B;f) cmp-le: cmp-le(cmp;x;y) l_contains: A  B nat_plus: or: P  Q union: left + right fpf-empty: dataflow-program: DataflowProgram(A) df-program-type: df-program-type(dfp) null-df-program: null-df-program(B) df-program-meaning: df-program-meaning(dfp) dataflow-history-val: dataflow-history-val(es;e;x.P[x]) dataflow-set-class: dataflow-set-class(x.P[x]) fpf_ap_pair: fpf_ap_pair{fpf_ap_pair_compseq_tag_def:o}(x; eq; f; d) rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) inl: inl x  it: inr: inr x  data-stream: data-stream(P;L) last: last(L) es-info: info(e) es-le-before: loc(e) compose: f o g combination: Combination(n;T) listp: A List es-loc: loc(e) null: null(as) bfalse: ff select: l[i] D: Error :D,  Try: Error :Try,  simple-comb-program: simple-comb-program(F;B;Ps) Complete: Error :Complete,  suptype: suptype(S; T) fpf-cap: f(x)?z class-program: ClassProgram(T) true: True sq_stable: SqStable(P) classrel: v  X(e) fpf-sub: f  g modulus-of-ccontinuity: modulus-of-ccontinuity(omega;I;f) partitions: partitions(I;p) i-member: r  I rleq: x  y rnonneg: rnonneg(r) req: x = y bag-member: bag-member(T;x;bs) is_accum_splitting: is_accum_splitting(T;A;L;LL;L2;f;g;x) is_list_splitting: is_list_splitting(T;L;LL;L2;f) value-type: value-type(T) no_repeats: no_repeats(T;l) prime_ideal_p: IsPrimeIdeal(R;P) integ_dom_p: IsIntegDom(r) grp_leq: a  b monoid_hom_p: IsMonHom{M1,M2}(f) group_p: IsGroup(T;op;id;inv) monoid_p: IsMonoid(T;op;id) monot: monot(T;x,y.R[x; y];f) cancel: Cancel(T;S;op) fun_thru_2op: FunThru2op(A;B;opa;opb;f) fun_thru_1op: fun_thru_1op(A;B;opa;opb;f) dist_1op_2op_lr: Dist1op2opLR(A;1op;2op) action_p: IsAction(A;x;e;S;f) bilinear_p: IsBilinear(A;B;C;+a;+b;+c;f) bilinear: BiLinear(T;pl;tm) inverse: Inverse(T;op;id;inv) comm: Comm(T;op) assoc: Assoc(T;op) ident: Ident(T;op;id) coprime: CoPrime(a,b) uconnex: uconnex(T; x,y.R[x; y]) connex: Connex(T;x,y.R[x; y]) uanti_sym: UniformlyAntiSym(T;x,y.R[x; y]) anti_sym: AntiSym(T;x,y.R[x; y]) utrans: UniformlyTrans(T;x,y.E[x; y]) trans: Trans(T;x,y.E[x; y]) usym: UniformlySym(T;x,y.E[x; y]) sym: Sym(T;x,y.E[x; y]) urefl: UniformlyRefl(T;x,y.E[x; y]) refl: Refl(T;x,y.E[x; y]) eqfun_p: IsEqFun(T;eq) inv_funs: InvFuns(A;B;f;g) uni_sat: a = !x:T. Q[x] fpf-dom: x  dom(f) quotient: x,y:A//B[x; y] permutation: permutation(T;L1;L2) BHyp: Error :BHyp
Lemmas :  subtype_rel-equal permutation_wf iff_wf rev_implies_wf defined-by-simple-comb-program sq_stable__equal sq_stable__and true_wf simple-comb-program_wf select_wf select_upto length_wf1 le_wf select-map bfalse_wf bool_subtype_base bool_wf false_wf not_wf assert_wf es-le-before-not-null last-map top_wf es-le_wf es-le-before_wf2 es-loc_wf map-map data-stream-null-df-program map_wf es-le-before_wf es-info_wf dataflow-history-val_wf df-program-meaning_wf_null fpf-empty_wf dataflow-program_wf df-program-type_wf length_wf_nat int_subtype_base subtype_base_sq decidable__equal_int length_upto length-map upto_wf subtype_rel_wf es-interface-subtype_rel2 es-interface-top member_wf defined-class_wf subtype_rel_self es-base-E_wf eclass-program-type_wf simple-comb_wf dataflow_wf Id_wf fpf_wf empty-bag_wf bag_wf es-E_wf event-ordering+_inc event-ordering+_wf nat_wf valueall-type_wf squash_wf all_functionality_wrt_iff programmable-iff programmable_wf nat_properties int_seg_wf eclass-program_wf eclass_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.  Programmable(A  k;Xs  k))
    {}\mRightarrow{}  (\mforall{}F:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)  {}\mrightarrow{}  bag(B).  Programmable(B;simple-comb(F;Xs))  supposing  (F  (\mlambda{}k.\{\}))  =  \{\}))


Date html generated: 2011_08_16-PM-06_29_24
Last ObjectModification: 2011_06_20-AM-01_53_47

Home Index