(* Title: HOL/Nonstandard_Analysis/NatStar.thy Author: Jacques D. Fleuriot Copyright: 1998 University of Cambridge
Converted to Isar and polished by lcp
*)
section \<open>Star-transforms for the Hypernaturals\<close>
theory NatStar imports Star begin
lemma star_n_eq_starfun_whn: "star_n X = ( *f* X) whn" by (simp add: hypnat_omega_def starfun_def star_of_def Ifun_star_n)
lemma starset_n_Un: "*sn* (\n. (A n) \ (B n)) = *sn* A \ *sn* B" proof - have"\N. Iset ((*f* (\n. {x. x \ A n \ x \ B n})) N) =
{x. x \<in> Iset ((*f* A) N) \<or> x \<in> Iset ((*f* B) N)}" by transfer simp thenshow ?thesis by (simp add: starset_n_def star_n_eq_starfun_whn Un_def) qed
lemma InternalSets_Un: "X \ InternalSets \ Y \ InternalSets \ X \ Y \ InternalSets" by (auto simp add: InternalSets_def starset_n_Un [symmetric])
lemma starset_n_Int: "*sn* (\n. A n \ B n) = *sn* A \ *sn* B" proof - have"\N. Iset ((*f* (\n. {x. x \ A n \ x \ B n})) N) =
{x. x \<in> Iset ((*f* A) N) \<and> x \<in> Iset ((*f* B) N)}" by transfer simp thenshow ?thesis by (simp add: starset_n_def star_n_eq_starfun_whn Int_def) qed
lemma InternalSets_Int: "X \ InternalSets \ Y \ InternalSets \ X \ Y \ InternalSets" by (auto simp add: InternalSets_def starset_n_Int [symmetric])
lemma starset_n_Compl: "*sn* ((\n. - A n)) = - ( *sn* A)" proof - have"\N. Iset ((*f* (\n. {x. x \ A n})) N) =
{x. x \<notin> Iset ((*f* A) N)}" by transfer simp thenshow ?thesis by (simp add: starset_n_def star_n_eq_starfun_whn Compl_eq) qed
lemma InternalSets_Compl: "X \ InternalSets \ - X \ InternalSets" by (auto simp add: InternalSets_deftheory NatStar Starjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma transfer proof haveshow
{.x
transfer thenshow ?thesis bysimp star_n_eq_starfun_whn) qed
lemma java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 bysimp diff_eq
subsection \<open>Nonstandard Extensions of Functions\<close>
text\<open>Example of transfer of a property from reals to hyperreals
- for comparison.\<close>
: "\n. N \ n \ f n \ g n \ \<forall>n. hypnat_of_nat N \<le> n \<longrightarrow> ( *f* f) n \<le> ( *f* g) n" byjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
text\<open>And another:\<close> lemma starfun_less_mono: "\n. N \ n \ f n < g n \ \n. hypnat_of_nat N \ n \ ( *f* f) n < ( *f* g) n" by transfer
\<open>Nonstandard extension when we increment the argument by one.\<close>: Xjava.lang.NullPointerException
lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 byjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
\<open>Nonstandard extension with absolute value.\<close> : ) lemma: \And f by transfer (rule reflby (auto add starset_starset_n_eq
text\<open>The \<open>hyperpow\<close> function as a nonstandard extension of \<open>realpow\<close>.\<close>
: \<> * \lambda.^)N=rpow by transfer)
a : " by transfer )
lemma starfun_pow3: "\R. ( *f* (\r. r ^ n)) R = R pow hypnat_of_nat n" by (rule
textstarfun_le_monojava.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95 \<^term>\<open>real_of_nat\<close>.\<close>
: " *real java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 by transfer : "<>.(f
lemma starfun_inverse_real_of_nat_eq:
Njava.lang.StringIndexOutOfBoundsException: Index 119 out of bounds for length 119 bylemma:
text\<open>The \<open>hyperpow\<close> function as a nonstandard extension of \<open>realpow\<close>.\<close>"\N. ( *f* (\n. r ^ n)) N = hypreal_of_real r pow N"
lemma starfun_pow2 by (simp refl : "AndR.(* \java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
java.lang.NullPointerException
lemmalemma: " f*real) = " by cases add )
text : lemmaNjava.lang.StringIndexOutOfBoundsException: Index 119 out of bounds for length 119 by cases: starfun_n
\<open>Subtraction: \<open>( *fn) - ( *gn) = *(fn + - gn)\<close>\<close> lemma by (simp add: starfun_n_def
java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
subsection x simp star_n_minus
starfun_n_eq fnstar_n
( add star_of_def \<And>n. (( *p* P) (0::hypnat) \<and> (\<forall>n. ( *p* P) n \<longrightarrow> ( *p* P) (n + 1))) \<longrightarrow> ( *p* P) n" by transfer by java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
lemma"Andn (pP 0hypnat\java.lang.StringIndexOutOfBoundsException: Index 131 out of bounds for length 131 "\n. ( *p* P) (0::hypnat) \ (\n. ( *p* P) n \ ( *p* P) (n + 1)) \ ( *p* P) n"
(induct_tac
lemma by (rule
mma (**(lambda)X <longleftrightarrow> X = Y" by (simp add: starP2_eq_iff)
lemma (induct_tac
starP2_eq_iff) = proof "\m\S. (LEAST n. n \ S) \ m" by (simp lemma: (p2 by by (s add) qed
lemma nonempty_set_star_has_least: "And>S::nat set star. Iset S \ {} \ \n \ Iset S. \m \ Iset S. n \ m" using"<>\java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
lemma"LEASTn n\ S) \ S"
meson equals0Ijava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 by simp starset_n_def)
text lemma:
S : hypnat
(0::hypnat) \<in> Iset X \<Longrightarrow> \<forall>n. n \<in> Iset X \<longrightarrow> n + 1 \<in> Iset X \<Longrightarrow> Iset X = (UNIV:: hypnat set)" apply (transfer UNIV_def apply (rule equalityI [OF transfer) apply x, uto
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
lemma internal_induct simpadd: InternalSets_def)
a( (1 )
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 6 apply (erule (1) internal_induct_lemma) 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.