{ [L:Top List]. [P:Top].
    (last(data-stream(P;L)) ~ if null(L)
    then []
    else snd(P*(firstn(||L|| - 1;L))(last(L)))
    fi ) }

{ Proof }



Definitions occuring in Statement :  data-stream: data-stream(P;L) iterate-dataflow: P*(inputs) dataflow-ap: df(a) firstn: firstn(n;as) length: ||as|| null: null(as) ifthenelse: if b then t else f fi  uall: [x:A]. B[x] top: Top pi2: snd(t) nil: [] list: type List subtract: n - m natural_number: $n sqequal: s ~ t last: last(L)
Definitions :  uall: [x:A]. B[x] ifthenelse: if b then t else f fi  member: t  T all: x:A. B[x] implies: P  Q btrue: tt prop: bfalse: ff last: last(L) select: l[i] false: False length: ||as|| ycomb: Y bool: unit: Unit iff: P  Q and: P  Q not: A le: A  B uimplies: b supposing a it:
Lemmas :  null_wf3 bool_wf iff_weakening_uiff uiff_transitivity assert_wf eqtt_to_assert assert_of_null not_wf bnot_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff top_wf select-data-stream length-data-stream lt_int_wf length_wf1 assert_of_lt_int le_wf le_int_wf assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int non_neg_length length_wf_nat

\mforall{}[L:Top  List].  \mforall{}[P:Top].
    (last(data-stream(P;L))  \msim{}  if  null(L)  then  []  else  snd(P*(firstn(||L||  -  1;L))(last(L)))  fi  )


Date html generated: 2011_08_10-AM-08_14_58
Last ObjectModification: 2011_06_18-AM-08_30_17

Home Index