fixrec smap :: "('a \ 'b) \ 'a seq \ 'b seq" where
smap_nil: "smap \ f \ nil = nil"
| smap_cons: "x \ UU \ smap \ f \ (x ## xs) = (f \ x) ## smap \ f \ xs"
lemma smap_UU [simp]: "smap \ f \ UU = UU" by fixrec_simp
subsubsection ‹‹sfilter››
fixrec sfilter :: "('a \ tr) \ 'a seq \ 'a seq" where
sfilter_nil: "sfilter \ P \ nil = nil"
| sfilter_cons: "x \ UU \
sfilter ⋅ P ⋅ (x ## xs) =
(If P ⋅ x then x ## (sfilter ⋅ P ⋅ xs) else sfilter ⋅ P ⋅ xs)"
lemma sfilter_UU [simp]: "sfilter \ P \ UU = UU" by fixrec_simp
lemma sforall2_UU [simp]: "sforall2 \ P \ UU = UU" by fixrec_simp
definition"sforall P t \ sforall2 \ P \ t \ FF"
subsubsection ‹‹stakewhile››
fixrec stakewhile :: "('a \ tr) \ 'a seq \ 'a seq" where
stakewhile_nil: "stakewhile \ P \ nil = nil"
| stakewhile_cons: "x \ UU \ stakewhile \ P \ (x ## xs) = (If P \ x then x ## (stakewhile \ P \ xs) else nil)"
lemma stakewhile_UU [simp]: "stakewhile \ P \ UU = UU" by fixrec_simp
subsubsection ‹‹sdropwhile››
fixrec sdropwhile :: "('a \ tr) \ 'a seq \ 'a seq" where
sdropwhile_nil: "sdropwhile \ P \ nil = nil"
| sdropwhile_cons: "x \ UU \ sdropwhile \ P \ (x ## xs) = (If P \ x then sdropwhile \ P \ xs else x ## xs)"
lemma sdropwhile_UU [simp]: "sdropwhile \ P \ UU = UU" by fixrec_simp
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 und die Messung sind noch experimentell.