setnth(l:list,n:nat,f:[T->T]) : RECURSIVE
{sl : listn(length(l)) | FORALL (i:below(length(l))) : IF i=n THEN nth(sl,i) = f(nth(l,i)) ELSE nth(sl,i) = nth(l,i) ENDIF} = CASES l OF
null : null,
cons(a,r) : IF n=0 THEN cons(f(a),r) ELSE cons(a,setnth(r,n-1,f)) ENDIF ENDCASES MEASURE l BY <<
finseqn?(n:nat)(f:finseq[T]) : MACRO bool = f`length = n
Finseqn(n:nat) : TYPE = (finseqn?(n))
normalize_fseq(f:finseq[T]): {fsn: Finseqn(f`length)|fsn = f} = LET fslist = finseq2list(f) IN list2finseq(fslist)
normalize_fseq_def: LEMMAFORALL (f:finseq[T]): normalize_fseq(f) = f
END listn
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.16Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.