equal
deleted
inserted
replaced
9 theory Star |
9 theory Star |
10 imports NSA |
10 imports NSA |
11 begin |
11 begin |
12 |
12 |
13 definition \<comment> \<open>internal sets\<close> |
13 definition \<comment> \<open>internal sets\<close> |
14 starset_n :: "(nat \<Rightarrow> 'a set) \<Rightarrow> 'a star set" (\<open>*sn* _\<close> [80] 80) |
14 starset_n :: "(nat \<Rightarrow> 'a set) \<Rightarrow> 'a star set" |
|
15 (\<open>(\<open>open_block notation=\<open>prefix starset_n\<close>\<close>*sn* _)\<close> [80] 80) |
15 where "*sn* As = Iset (star_n As)" |
16 where "*sn* As = Iset (star_n As)" |
16 |
17 |
17 definition InternalSets :: "'a star set set" |
18 definition InternalSets :: "'a star set set" |
18 where "InternalSets = {X. \<exists>As. X = *sn* As}" |
19 where "InternalSets = {X. \<exists>As. X = *sn* As}" |
19 |
20 |
21 is_starext :: "('a star \<Rightarrow> 'a star) \<Rightarrow> ('a \<Rightarrow> 'a) \<Rightarrow> bool" |
22 is_starext :: "('a star \<Rightarrow> 'a star) \<Rightarrow> ('a \<Rightarrow> 'a) \<Rightarrow> bool" |
22 where "is_starext F f \<longleftrightarrow> |
23 where "is_starext F f \<longleftrightarrow> |
23 (\<forall>x y. \<exists>X \<in> Rep_star x. \<exists>Y \<in> Rep_star y. y = F x \<longleftrightarrow> eventually (\<lambda>n. Y n = f(X n)) \<U>)" |
24 (\<forall>x y. \<exists>X \<in> Rep_star x. \<exists>Y \<in> Rep_star y. y = F x \<longleftrightarrow> eventually (\<lambda>n. Y n = f(X n)) \<U>)" |
24 |
25 |
25 definition \<comment> \<open>internal functions\<close> |
26 definition \<comment> \<open>internal functions\<close> |
26 starfun_n :: "(nat \<Rightarrow> 'a \<Rightarrow> 'b) \<Rightarrow> 'a star \<Rightarrow> 'b star" (\<open>*fn* _\<close> [80] 80) |
27 starfun_n :: "(nat \<Rightarrow> 'a \<Rightarrow> 'b) \<Rightarrow> 'a star \<Rightarrow> 'b star" |
|
28 (\<open>(\<open>open_block notation=\<open>prefix starfun_n\<close>\<close>*fn* _)\<close> [80] 80) |
27 where "*fn* F = Ifun (star_n F)" |
29 where "*fn* F = Ifun (star_n F)" |
28 |
30 |
29 definition InternalFuns :: "('a star => 'b star) set" |
31 definition InternalFuns :: "('a star => 'b star) set" |
30 where "InternalFuns = {X. \<exists>F. X = *fn* F}" |
32 where "InternalFuns = {X. \<exists>F. X = *fn* F}" |
31 |
33 |