src/HOL/NSA/NSA.thy
changeset 37765 26bdfb7b680b
parent 36779 0713931bd769
child 37887 2ae085b07f2f
equal deleted inserted replaced
37764:3489daf839d5 37765:26bdfb7b680b
    13   hnorm :: "'a::real_normed_vector star \<Rightarrow> real star" where
    13   hnorm :: "'a::real_normed_vector star \<Rightarrow> real star" where
    14   [transfer_unfold]: "hnorm = *f* norm"
    14   [transfer_unfold]: "hnorm = *f* norm"
    15 
    15 
    16 definition
    16 definition
    17   Infinitesimal  :: "('a::real_normed_vector) star set" where
    17   Infinitesimal  :: "('a::real_normed_vector) star set" where
    18   [code del]: "Infinitesimal = {x. \<forall>r \<in> Reals. 0 < r --> hnorm x < r}"
    18   "Infinitesimal = {x. \<forall>r \<in> Reals. 0 < r --> hnorm x < r}"
    19 
    19 
    20 definition
    20 definition
    21   HFinite :: "('a::real_normed_vector) star set" where
    21   HFinite :: "('a::real_normed_vector) star set" where
    22   [code del]: "HFinite = {x. \<exists>r \<in> Reals. hnorm x < r}"
    22   "HFinite = {x. \<exists>r \<in> Reals. hnorm x < r}"
    23 
    23 
    24 definition
    24 definition
    25   HInfinite :: "('a::real_normed_vector) star set" where
    25   HInfinite :: "('a::real_normed_vector) star set" where
    26   [code del]: "HInfinite = {x. \<forall>r \<in> Reals. r < hnorm x}"
    26   "HInfinite = {x. \<forall>r \<in> Reals. r < hnorm x}"
    27 
    27 
    28 definition
    28 definition
    29   approx :: "['a::real_normed_vector star, 'a star] => bool"  (infixl "@=" 50) where
    29   approx :: "['a::real_normed_vector star, 'a star] => bool"  (infixl "@=" 50) where
    30     --{*the `infinitely close' relation*}
    30     --{*the `infinitely close' relation*}
    31   "(x @= y) = ((x - y) \<in> Infinitesimal)"
    31   "(x @= y) = ((x - y) \<in> Infinitesimal)"
    54 
    54 
    55 subsection {* Nonstandard Extension of the Norm Function *}
    55 subsection {* Nonstandard Extension of the Norm Function *}
    56 
    56 
    57 definition
    57 definition
    58   scaleHR :: "real star \<Rightarrow> 'a star \<Rightarrow> 'a::real_normed_vector star" where
    58   scaleHR :: "real star \<Rightarrow> 'a star \<Rightarrow> 'a::real_normed_vector star" where
    59   [transfer_unfold, code del]: "scaleHR = starfun2 scaleR"
    59   [transfer_unfold]: "scaleHR = starfun2 scaleR"
    60 
    60 
    61 lemma Standard_hnorm [simp]: "x \<in> Standard \<Longrightarrow> hnorm x \<in> Standard"
    61 lemma Standard_hnorm [simp]: "x \<in> Standard \<Longrightarrow> hnorm x \<in> Standard"
    62 by (simp add: hnorm_def)
    62 by (simp add: hnorm_def)
    63 
    63 
    64 lemma star_of_norm [simp]: "star_of (norm x) = hnorm (star_of x)"
    64 lemma star_of_norm [simp]: "star_of (norm x) = hnorm (star_of x)"