{ [A,B:Type]. [f,g:dataflow(A;B)].
    uiff([as:A List]. [a:A].  ((snd(f*(as)(a))) = (snd(g*(as)(a))));f = g) }

{ Proof }



Definitions occuring in Statement :  iterate-dataflow: P*(inputs),  dataflow-ap: df(a),  dataflow: dataflow(A;B),  uiff: uiff(P;Q),  uall: [x:A]. B[x],  pi2: snd(t),  list: type List,  universe: Type,  equal: s = t
Definitions :  data-stream: data-stream(P;L),  limited-type: LimitedType,  lambda: x.A[x],  fpf: a:A fp-> B[a],  corec: corec(T.F[T]),  strong-subtype: strong-subtype(A;B),  le: A  B,  ge: i  j ,  not: A,  less_than: a < b,  subtype_rel: A r B,  function: x:A  B[x],  all: x:A. B[x],  iterate-dataflow: P*(inputs),  dataflow-ap: df(a),  pi2: snd(t),  axiom: Ax,  prop: ,  list: type List,  equal: s = t,  universe: Type,  dataflow: dataflow(A;B),  uiff: uiff(P;Q),  and: P  Q,  product: x:A  B[x],  pair: <a, b>,  uimplies: b supposing a,  isect: x:A. B[x],  member: t  T,  so_lambda: x.t[x],  uall: [x:A]. B[x],  set: {x:A| B[x]} ,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  pi1: fst(t),  true: True,  squash: T,  void: Void,  subtype: S  T,  top: Top,  sqequal: s ~ t,  tl: tl(l),  hd: hd(l),  cons: [car / cdr],  nil: [],  append: as @ bs,  data_stream_nil: data_stream_nil{data_stream_nil_compseq_tag_def:o}(P),  implies: P  Q,  guard: {T},  CollapseTHENA: Error :CollapseTHENA
Lemmas :  last_induction,  data-stream-append,  member_wf,  top_wf,  append_wf,  squash_wf,  true_wf,  data-stream-cons,  pi1_wf,  uall_wf,  pi2_wf,  dataflow-ap_wf,  iterate-dataflow_wf,  dataflow_wf,  dataflow-extensionality,  data-stream_wf

\mforall{}[A,B:Type].  \mforall{}[f,g:dataflow(A;B)].
    uiff(\mforall{}[as:A  List].  \mforall{}[a:A].    ((snd(f*(as)(a)))  =  (snd(g*(as)(a))));f  =  g)


Date html generated: 2011_08_10-AM-08_19_22
Last ObjectModification: 2011_05_03-PM-01_47_40

Home Index