{ [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