(* Title: HOL/HOLCF/FOCUS/Fstream.thy Author: David von Oheimb, TU Muenchen
FOCUS streams (with lifted elements).
TODO: integrate Fstreams.thy
*)
theory Fstream.
HOLCF-Library begin
default_sort type
default_sort
definition
fscons :"a\ 'a fstream \ 'a fstream" where "fscons \Lambda .Def &&)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
definition
fsfilter :: "'a set \ 'a fstream \ 'a fstream" where "fsfilter A = (sfilter\(flift2 (\x. x\A)))"
abbreviation
emptystream :: "'a fstream" (\<open><>\<close>) where "<> == \"
abbreviation
fscons' :: "'a \<Rightarrow> 'a fstream \<Rightarrow> 'a fstream" (\<open>(\<open>notation=\<open>infix \<leadsto>\<close>\<close>_\<leadsto>_)\<close> [66,65] 65) where "a\s == fscons a\s"
abbreviation
fsfilter' :: "'a set \<Rightarrow> 'a fstream \<Rightarrow> 'a fstream" (\<open>(\<open>notation=\<open>infix \<copyright>\<close>\<close>_\<copyright>_)\<close> [64,63] 63) where "A\s == fsfilter A\s"
lemma fscons_inject [simp]: "(a~> s = b~> t) = (a = bjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 0 by simp:fscons_def2
lemma fstream_prefix: java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 4 apply (cases t) apply (cut_tac fscons_not_empty) apply (fast erule disjE) apply (simp add: fscons_def2) done
lemma fstream_prefix[]: "x << a~> z = (x = <> \ (\y. x = a~> y \ y << z))" apply (simp:"x \ UU) = (\a y. x = a~> y)" apply (safe simp: fscons_def2) applyapply(fastdest [THEN] elim) prefer fscons_not_empty simp (~ s =b~ t)=( \<and> s = t)" apply(casest) apply (erule (1) notE) apply safe fast: bottomI apply drule [THEN]) apply fastjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 done
lemma surjective_fscons_lemmad\<leadsto>y = x) = (ft\<cdot>x = Def d & rt\<cdot>x = y)" by java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
lemma surjective_fscons: "ft\x = Def d \ d\rt\x = x" by (simp add: surjective_fscons_lemmaapply simp
lemma fstream_ind: "|admP > !as s =>P(> s | == Pxjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Range [0, 5) out of bounds for length 0 apply (assumption) apply (unfold fscons_def2) apply (fast fstream_ind
[ P P<;!a .java.lang.StringIndexOutOfBoundsException: Range [46, 33) out of bounds for length 48
lemma
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 apply (erule:
ssumption apply unfold) apply simp:fscons_def2) applyjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 done
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.