{ A:{A:Type| A} . B:{B:Type| valueall-type(B)} . df:dataflow(A;bag(B)).
    dfp:DataflowProgram(A)
     ((df-program-type(dfp) = B)  (df-program-meaning(dfp) = df)) }

{ Proof }



Definitions occuring in Statement :  df-program-meaning: df-program-meaning(dfp) df-program-type: df-program-type(dfp) dataflow-program: DataflowProgram(A) dataflow: dataflow(A;B) all: x:A. B[x] exists: x:A. B[x] squash: T and: P  Q set: {x:A| B[x]}  universe: Type equal: s = t bag: bag(T) valueall-type: valueall-type(T)
Definitions :  dataflow: dataflow(A;B) bag: bag(T) lambda: x.A[x] spread: spread def dataflow-ap: df(a) pair: <a, b> inl: inl x  Try: Error :Try,  Complete: Error :Complete,  CollapseTHEN: Error :CollapseTHEN,  Auto: Error :Auto,  MaAuto: Error :MaAuto,  equal: s = t product: x:A  B[x] and: P  Q exists: x:A. B[x] set: {x:A| B[x]}  universe: Type function: x:A  B[x] all: x:A. B[x] valueall-type: valueall-type(T) prop: squash: T dataflow-program: DataflowProgram(A) uall: [x:A]. B[x] isect: x:A. B[x] subtype_rel: A r B uiff: uiff(P;Q) uimplies: b supposing a less_than: a < b not: A ge: i  j  le: A  B strong-subtype: strong-subtype(A;B) corec: corec(T.F[T]) member: t  T primrec: primrec(n;b;c) union: left + right subtype: S  T l_member: (x  l) unit: Unit fpf: a:A fp-B[a] fpf-cap: f(x)?z sq_stable: SqStable(P) implies: P  Q fpf-sub: f  g true: True select: l[i] list: type List ma-state: State(ds) deq: EqDecider(T) top: Top b-union: A  B isect2: T1  T2 stream: stream(A) tuple-type: tuple-type(L) fset: FSet{T} record: record(x.T[x]) record+: record+ iff: P  Q or: P  Q rev_implies: P  Q tag-by: zT so_lambda: x.t[x] 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) assert: b 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) inject: Inj(A;B;f) inv_funs: InvFuns(A;B;f;g) uni_sat: a = !x:T. Q[x] tunion: x:A.B[x] quotient: x,y:A//B[x; y] rec: rec(x.A[x]) atom: Atom int: atom: Atom$n guard: {T} false: False fpf-dom: x  dom(f) apply: f a nat: sqequal: s ~ t df-program-type: df-program-type(dfp) df-program-meaning: df-program-meaning(dfp) cand: A c B bool: rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) decide: case b of inl(x) =s[x] | inr(y) =t[y] empty-bag: {} so_lambda: x y.t[x; y] sq_type: SQType(T) intensional-universe: IType limited-type: LimitedType tactic: Error :tactic,  AssertBY: Error :AssertBY,  let: let pi2: snd(t) iterate-dataflow: P*(inputs) axiom: Ax rec_dataflow_ap: rec_dataflow_ap_compseq_tag_def iter_df_nil: iter_df_nil{iter_df_nil_compseq_tag_def:o}(P) iter_df_cons: iter_df_cons{iter_df_cons_compseq_tag_def:o}(as; a; P) pi1: fst(t)
Lemmas :  dataflow-equal rec-dataflow_wf empty-bag_wf true_wf intensional-universe_wf df-program-meaning_wf df-program-type_wf sq_stable__equal sq_stable__and dataflow-valueall-type sq_stable__valueall-type nat_wf primrec_wf top_wf corec_wf subtype_rel_simple_product sq_stable__all subtype_rel_self subtype_rel_product sq_stable__subtype_rel dataflow-ap_wf subtype_rel_wf squash_wf dataflow-program_wf member_wf unit_wf valueall-type_wf bag_wf dataflow_wf

\mforall{}A:\{A:Type|  \mdownarrow{}A\}  .  \mforall{}B:\{B:Type|  valueall-type(B)\}  .  \mforall{}df:dataflow(A;bag(B)).
    \mexists{}dfp:DataflowProgram(A).  ((df-program-type(dfp)  =  B)  \mwedge{}  (df-program-meaning(dfp)  =  df))


Date html generated: 2011_08_16-AM-09_35_18
Last ObjectModification: 2011_06_13-PM-03_23_20

Home Index