{ [L:Top List]. [a,P:Top].
    (data-stream(P;[a / L]) ~ [snd(P(a)) / data-stream(fst(P(a));L)]) }

{ Proof }



Definitions occuring in Statement :  data-stream: data-stream(P;L) dataflow-ap: df(a) uall: [x:A]. B[x] top: Top pi1: fst(t) pi2: snd(t) cons: [car / cdr] list: type List sqequal: s ~ t
Definitions :  uall: [x:A]. B[x] data-stream: data-stream(P;L) member: t  T nat_plus: length: ||as|| ycomb: Y map: map(f;as) select: l[i] ifthenelse: if b then t else f fi  le_int: i z j bnot: b lt_int: i <z j bfalse: ff btrue: tt top: Top compose: f o g all: x:A. B[x] subtype: S  T implies: P  Q prop: firstn: firstn(n;as) sq_type: SQType(T) uimplies: b supposing a guard: {T} int_seg: {i..j} bool: lelt: i  j < k unit: Unit le: A  B iff: P  Q and: P  Q not: A false: False it:
Lemmas :  top_wf upto_decomp2 length_wf1 non_neg_length length_wf_nat length_cons subtype_base_sq int_subtype_base first0 map-map upto_wf int_seg_wf select-cons le_int_wf bool_wf iff_weakening_uiff le_wf uiff_transitivity assert_wf eqtt_to_assert assert_of_le_int lt_int_wf bnot_wf eqff_to_assert assert_functionality_wrt_uiff bnot_of_le_int assert_of_lt_int bnot_of_lt_int int_seg_properties

\mforall{}[L:Top  List].  \mforall{}[a,P:Top].    (data-stream(P;[a  /  L])  \msim{}  [snd(P(a))  /  data-stream(fst(P(a));L)])


Date html generated: 2011_08_10-AM-08_14_35
Last ObjectModification: 2011_06_18-AM-08_29_59

Home Index