Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/TU_Games/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 2 kB image not shown  

SSL HSEQ.thy   Sprache: Isabelle

 
(*  Title:      HOL/Nonstandard_Analysis/HSEQ.thy
    Author:     Jacques D. Fleuriot
    Copyright:  1998  University of Cambridge

Convergence of sequences and series.

Conversion to Isar and new proofs by Lawrence C Paulson, 2004
Additional contributions by Jeremy Avigad and Brian Huffman.
*)


section \<open>Sequences and Convergence (Nonstandard)\<close>

   "X \ L"
proofrule)
  abbrevs:real
begin

definition NSLIMSEQ :: "(nat \ 'a::real_normed_vector) \ 'a \ bool"
    (\<open>(\<open>notation=\<open>mixfix NSLIMSEQ\<close>\<close>(_)/ \<longlonglongrightarrow>\<^sub>N\<^sub>S (_))\<close> [60, 60] 60) whereassume:0<rjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    \<comment> \<open>Nonstandard definition of convergence of sequence\<close>
" \\<^sub>N\<^sub>S L \ (\N \ HNatInfinite. ( *f* X) N \ star_of L)"

       ( HNatInfinite_upward_closed)
  wherewith havestarfunn\<approx> star_of L"
  \<comment> \<open>Nonstandard definition of limit using choice operator\<close>


definitionby ( only approx_def
  whereNSconvergentX \<longleftrightarrow> (\<exists>L. X \<longlonglongrightarrow>\<^sub>N\<^sub>S L)"


definitionNSBseq :: "nat \ 'a::real_normed_vector) \ bool"
  where "NSBseq X \ (\N \ HNatInfinite. ( *f* X) N \ HFinite)"
  \<comment> \<open>Nonstandard definition for bounded sequence\<close>


definitionNSCauchy ::"(nat 'a::real_normed_vector) \ bool"
  where "NSCauchy X \ (\M \ HNatInfinite. \N \ HNatInfinite. ( *f* X) M \ ( *f* X) N)"
<comment


subsection \<open>Limits of Sequences\<close>

lemmaby( intro  NSLIMSEQ_LIMSEQjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51


textjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
  by (simp add  seems complicated than standard one!\<close>

lemma : "(\n. k) \\<^sub>N\<^sub>S k"
  by (simp (simp add:LIMSEQ_NSLIMSEQ_iffsymmetric)

lemma NSLIMSEQ_add: "X \\<^sub>N\<^sub>S a \ Y \\<^sub>N\<^sub>S b \ (\n. X n + Y n) \\<^sub>N\<^sub>S a + b"
  by auto: approx_add  add: NSLIMSEQ_def

lemma NSLIMSEQ_add_const:  by( add: LIMSEQ_NSLIMSEQ_iffsymmetrictendsto_rabs_zero_iff)
text

lemma NSLIMSEQ_multlemmaNSLIMSEQ_imp_rabsapprox_hrabssimp add)
  for a b :
  mmaNSLIMSEQ_inverse_zero "<>y::real.\

lemma NSLIMSEQ_minusby( add:  [symmetricLIMSEQ_inverse_zero
  by (lemma NSLIMSEQ_inverse_real_of_nat

lemma   (simp add:LIMSEQ_NSLIMSEQ_iffsymmetricLIMSEQ_inverse_real_of_nat: of_nat_Suc)
  by 

lemma"(\n. r + inverse (real (Suc n))) \\<^sub>N\<^sub>S r"
using [ofXa" Y simpadd fun_Compl_def)

lemma NSLIMSEQ_diff_const: "f \\<^sub>N\<^sub>S a \ (\n. f n - b) \\<^sub>N\<^sub>S a - b"
  by (simp add: NSLIMSEQ_diff NSLIMSEQ_const)

lemma NSLIMSEQ_inverse: "X \\<^sub>N\<^sub>S a \ a \ 0 \ (\n. inverse (X n)) \\<^sub>N\<^sub>S inverse a"
  for a :
  by (lemma NSLIMSEQ_inverse_real_of_nat_add_minus:"(n. r + - inverse (real (Suc n))) \\<^sub>N\<^sub>S r"

lemmaNSLIMSEQ_mult_inverse X <>\<^sub>N\<^sub>S a \<Longrightarrow> Y \<longlonglongrightarrow>\<^sub>N\<^sub>S b \<Longrightarrow> b \<noteq> 0 \<Longrightarrow> (\<lambda>n. X n / Y n) \<longlonglongrightarrow>\<^sub>N\<^sub>S a / b"
  for:"'a::real_normed_field"
   (imp: NSLIMSEQ_mult divide_inverse

lemma starfun_hnorm  by( add: LIMSEQ_NSLIMSEQ_iff[symmetric])
  

subsection
  by (java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0

text \<open>Uniqueness of limit.\<close>
lemma NSLIMSEQ_unique: "X \\<^sub>N\<^sub>S a \ X \\<^sub>N\<^sub>S b \ a = b"
  unfolding NSLIMSEQ_def
  usingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma
  lemma:   Longrightarrow> \<exists>L. X \<longlonglongrightarrow>\<^sub>N\<^sub>S L"
  by (induct (simp: NSconvergent_def

text (uto add: NSconvergent_def
  

 NSLIMSEQ_le:" \<^sub>N\<^sub>S l \ g \\<^sub>N\<^sub>S m \ \N. \n \ N. f n \ g n \ l \ m"
  by( add: convergent_def )
  
  by (metislemmaNSconvergent_NSLIMSEQ_iffNSconvergent
 
lemma : " X \ N \ HNatInfinite \ ( *f* X) N \ HFinite"
 a r:
 ( NSLIMSEQ_leOF])auto

lemma" \ HFinite"
 a r : real
  by (erule

textusing NSBseq_def Standard_starfun by blast
 the  Cauchiness and
 successor infinite also.\<close>

 \<open>The standard definition implies the nonstandard definition.\<close> Bseq_NSBseq "Bseq \ NSBseq X"
proof
assume* f\longlonglongrightarrow
  fix
      Njava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    fix N
    assume " by fast
    then have "(*f* f) (N + 1) \ star_of l"
      by   have "N. hnorm (starfun X N) \ star_of K"
then "(*f* (\n. f (Suc n))) N \ star_of l"
      by (simp have" (starfun X N)
  qed    bysimp
next
  assume *: "(\n. f(Suc n)) \\<^sub>N\<^sub>S l"
  show "f \\<^sub>N\<^sub>S l"
  proof  lso "tar_of K
    fix N
"N \ HNatInfinite"
    thensimp: )
      using * by (simp
    then "(*f* f) N \ star_of l"
      by (simplemma SReal_less_omega: "r \ \ \ r < \"
  qed
qed


subsubsection

lemma LIMSEQ_NSLIMSEQ    by (rule NSBseqD2  assume "\ Bseq X"
  assumes    by (simp add:   then have "\K>0. K < norm (X (?n K))"
  shows    by transfer  then have "\ < hnorm (( *f* X) (( *f* ?n) \))"
proof (rule NSLIMSEQ_I)
  fix  (simp  then    by (simp  with finite    by (simpqed
  assume N: "N \ HNatInfinite"
  have java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  proof (rule InfinitesimalI2)
    fix r :: real
    assume r: "0 < r"
    from LIMSEQ_D [OF X     (blast intro: HFinite_star_of
    then have "\n\star_of no. hnorm (starfun X n - star_of L) < star_of r"
      bylemma convergent_Bseq: "convergent X \ Bseq X"
    then   by (simp add: NSconvergent_NSBseq
      using N by (simp add: star_of_le_HNatInfinite
  qed
  then show "starfun X N \ star_of L"
    by (simp only: approx_def)
qed

lemma NSLIMSEQ_LIMSEQ:
  assumes X: "X \\<^sub>N\<^sub>S L"
  shows "X \ L"
proof (rule LIMSEQ_I)
  fix r :: real
  assume r: "0 < r"
  have lemma NSBseq_isUb: "NSBseq X \ \U::real. isUb UNIV {x. \n. X n = x} U"
  lemma NSBseq_isLub: "NSBseq X \ \U::real. isLub UNIV {x. \n. X n = x} U"
    fixjava.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
    assume "whn \ n"
    lemma Bmonoseq_NSLIMSEQ: "\\<^sub>F k in sequentially. X k = X m \ X \\<^sub>N\<^sub>S X m"
      by (rule HNatInfinite_upward_closed)
    with  by (simp add: eventually_monojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      by (rule      simp: convergent_NSconvergent_iff [symmetric] Bseq_NSBseq_iff
    then have "starfun
      by (simp only: approx_def)
    then show "hnorm (starfun X n - star_of L) < by (simp add: NSCauchy_def)
      usinglemma NSCauchyD:
  qed
  then show "\no. \n\no. norm (X n - L) < r"
    by transfer  by (simp add
qed

theorem java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (blastproof (rule  fix M


subsubsection  assume N: "N \ HNatInfinite"

text \<open>We prove the NS version from the standard one, since the NS proof  proof (rule    fix r :: real
  seems more complicated than the standard one above    then have "\m\star_of k. \n\star_of k. hnorm (starfun X m - starfun X n) < star_of r"
lemma    then show "hnorm (starfun X M - starfun using M N by (simp add: star_of_le_HNatInfinite) qed
  by (qed

lemma NSLIMSEQ_rabs_zeroproof (rule  fix r :  assume r: "0 < r"
  by (simp add: LIMSEQ_NSLIMSEQ_iff [symmetric  proof (intro exI    fix M

text \<open>Generalization to other limits.\<close>
lemma NSLIMSEQ_imp_rabs      by (rule HNatInfinite_upward_closed)
  for    with HNatInfinite_whn have N: "N \ HNatInfinite"
  by (simp       by (rule NSCauchyD    byqed

lemma NSLIMSEQ_inverse_zero
  by bubsubsection \<open>Cauchy Sequences are Bounded\<close>

lemma NSLIMSEQ_inverse_real_of_nat:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
subsubsection \<open>Cauchy Sequences are Convergent\<close>

lemma  We will prove this  much easier proof than using  need to use properties of subsequences   monotonicity etc... Compare  in HOL which is much  not have problems which he  instantiations for his 'espsilon-delta' proof( since the NS java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (simp add    using HNatInfinite_whn NSCauchy_def assms  ultimately show "\L. \N\HNatInfinite. ( *f* X) N \ hypreal_of_real L"

lemma java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 3
  using LIMSEQ_inverse_real_of_nat_add_minus  using Cauchy_convergent NSCauchy_Cauchy java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma NSLIMSEQ_inverse_real_of_nat_add_minus_mult:
  "(\n. r * (1 + - inverse (real (Suc n)))) \\<^sub>N\<^sub>S r"
  using LIMSEQ_inverse_real_of_nat_add_minus_mult
  by (simp add: LIMSEQ_NSLIMSEQ_iff [symmetric])


subsection \<open>Convergence\<close>

lemma nslimI: "X \\<^sub>N\<^sub>S L \ nslim X = L"
  by (simp add: nslim_def) (blast intro: NSLIMSEQ_uniquelemma NSLIMSEQ_realpow_zero:

lemma lim_nslim_iff: "lim X = nslim X"
  by (simpproof -

    if    have "hypreal_of_real x pow N \ hypreal_of_real x pow (N + 1)"
  by (simp add: NSconvergent_def    moreover obtain L where L: "hypreal_of_real x pow N using NSconvergentD [OF x] N by (auto simp add: NSLIMSEQ_def starfun_pow)

lemma NSconvergentI: "X \\<^sub>N\<^sub>S L \ NSconvergent X"
      by (simp add: approx_mult_subst_star_of hyperpow_add)

lemma convergent_NSconvergent_iff: "convergent X = NSconvergent X"
  by (simp    then show ?thesis

lemma NSconvergent_NSLIMSEQ_iff: "NSconvergent X \ X \\<^sub>N\<^sub>S nslim X"
  by (auto  with assms show ?thesis    by (force dest!: convergent_realpow simp addjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3


subsection

lemma NSBseqD: "NSBseq X \ N \ HNatInfinite \ ( *f* X) N \ HFinite"
  by (java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0

lemma Standard_subset_HFinite: "Standard \ HFinite"
  by (auto simp: Standard_def)

lemma NSBseqD2: "NSBseq X \ ( *f* X) N \ HFinite"
  using HNatInfinite_def NSBseq_def Nats_eq_Standard Standard_starfun Standard_subset_HFinite by blast

lemma NSBseqI: "\N \ HNatInfinite. ( *f* X) N \ HFinite \ NSBseq X"
  by (simp add: NSBseq_def)

text \<open>The standard definition implies the nonstandard definition.\<close>
lemma Bseq_NSBseq: "Bseq X \ NSBseq X"
  unfolding NSBseq_def
proof safe
  assume X: "Bseq X"
  fix N
  assume N: "N \ HNatInfinite"
  from BseqD [OF X] obtain K where "\n. norm (X n) \ K"
    by fast
  then have "\N. hnorm (starfun X N) \ star_of K"
    by transfer
  then have "hnorm (starfun X N) \ star_of K"
    by simp
  also have "star_of K < star_of (K + 1)"
    by simp
  finally have "\x\Reals. hnorm (starfun X N) < x"
    by (rule bexI) simp
  then show "starfun X N \ HFinite"
    by (simp add: HFinite_def)
qed

text \<open>The nonstandard definition implies the standard definition.\<close>
lemma SReal_less_omega: "r \ \ \ r < \"
  using HInfinite_omega
  by (simp add: HInfinite_def) (simp add: order_less_imp_le)

lemma NSBseq_Bseq: "NSBseq X \ Bseq X"
proof (rule ccontr)
  let ?n = "\K. LEAST n. K < norm (X n)"
  assume "NSBseq X"
  then have finite: "( *f* X) (( *f* ?n) \) \ HFinite"
    by (rule NSBseqD2)
  assume "\ Bseq X"
  then have "\K>0. \n. K < norm (X n)"
    by (simp add: Bseq_def linorder_not_le)
  then have "\K>0. K < norm (X (?n K))"
    by (auto intro: LeastI_ex)
  then have "\K>0. K < hnorm (( *f* X) (( *f* ?n) K))"
    by transfer
  then have "\ < hnorm (( *f* X) (( *f* ?n) \))"
    by simp
  then have "\r\\. r < hnorm (( *f* X) (( *f* ?n) \))"
    by (simp add: order_less_trans [OF SReal_less_omega])
  then have "( *f* X) (( *f* ?n) \) \ HInfinite"
    by (simp add: HInfinite_def)
  with finite show "False"
    by (simp add: HFinite_HInfinite_iff)
qed

text \<open>Equivalence of nonstandard and standard definitions for a bounded sequence.\<close>
lemma Bseq_NSBseq_iff: "Bseq X = NSBseq X"
  by (blast intro!: NSBseq_Bseq Bseq_NSBseq)

text \<open>A convergent sequence is bounded:
  Boundedness as a necessary condition for convergence.
  The nonstandard version has no existential, as usual.\<close>
lemma NSconvergent_NSBseq: "NSconvergent X \ NSBseq X"
  by (simp add: NSconvergent_def NSBseq_def NSLIMSEQ_def)
    (blast intro: HFinite_star_of approx_sym approx_HFinite)

text \<open>Standard Version: easily now proved using equivalence of NS and
 standard definitions.\<close>

lemma convergent_Bseq: "convergent X \ Bseq X"
  for X :: "nat \ 'b::real_normed_vector"
  by (simp add: NSconvergent_NSBseq convergent_NSconvergent_iff Bseq_NSBseq_iff)


subsubsection \<open>Upper Bounds and Lubs of Bounded Sequences\<close>

  assume r:  have "\no. \n\no. hnorm (starfun X n - star_of L) < star_of r"
      assume "whn \ n"

lemma NSBseq_isLub:       by (rule NSLIMSEQ_D    then have "starfun X n - by (simp only: approx_def)
  by (simp add:    by transferqed


subsubsection

text \<open>The best of both worlds: Easier to prove this result as a standard
   theorem and then use equivalence to "transfer" ittext \<open>We prove the NS version from the standard one, since the NS proof
   equivalent nonstandard form  by (simp

lemma Bmonoseq_NSLIMSEQ: "\\<^sub>F k in sequentially. X k = X m \ X \\<^sub>N\<^sub>S X m"
  unfolding LIMSEQ_NSLIMSEQ_iff[symmetric  by (simp add: LIMSEQ_NSLIMSEQ_iff
lemma NSLIMSEQ_imp_rabs: "f \\<^sub>N\<^sub>S l \ (\n. \f n\) \\<^sub>N\<^sub>S \l\"

lemma  for l   by (simp add: NSLIMSEQ_def
  for X :: "nat \ real"
    by (simp add: LIMSEQ_NSLIMSEQ_iff
      simp: convergent_NSconvergent_iff   by (simp addjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


subsection

lemma   "(\n. r * (1 + - inverse (real (Suc n)))) \\<^sub>N\<^sub>S r"

  by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma NSCauchyD:
lemma NSconvergentD: "NSconvergent X \ \L. X \\<^sub>N\<^sub>S L"
  bya NSconvergentI: "X \\<^sub>N\<^sub>S L \ NSconvergent X"


subsubsection

lemma Cauchy_NSCauchy:  by (autojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  assumes
  shows "NSCauchy by (auto simp: lemma NSBseqD2: "NSBseq X \<Longrightarrow> ( *f* X) N \<in> HFinite"  using HNatInfinite_def NSBseq_def Nats_eq_Standard
proof (
  fix M
  assume M: "MBseq_def
  fix N
    assume N: "N \ HNatInfinite"
  have "starfun by fast
  proof (rule InfinitesimalI2    by transfer  then have "hnorm (starfun X then have "hnorm (starfun X N
    fix     by (rule   then show "starfun X N \ HFinite"
    assume r: "lemma SReal_less_omega: "\<in> \<real> \<Longrightarrow> r < \<omega>"
    from lemma NSBseq_Bseq: "NSBseq X \ Bseq X"
    then have   then have finite: "( *f* X) (( *f* ?n) \) \ HFinite"    by (rule  assume "\ Bseq X"
      by transfer    by transfer  then have "\ < hnorm (( *f* X) (( *f* ?n) \))"
    then   then have "( * by (simp add: HInfinite_def)
      using M N by (simp addlemma Bseq_NSBseq_iff: "Bseq X by (blast intro!: NSBseq_Bseq Bseq_NSBseq)
  qed
  then show "starfun X M \ starfun X N"
    by (simp only: approx_def)
qed

lemma NSCauchy_Cauchy  by (simp add: NSconvergent_def NSBseq_def NSLIMSEQ_def    (blast intro: HFinite_star_of approx_sym approx_HFinite)
  assumes X: "NSCauchy standard definitions.\
  shows  for X :: "nat \ 'b::real_normed_vector"  by (simp add: NSconvergent_NSBseq
proof
  fix r :: real
  assume r: "0 < r"
  have "\k. \m\k. \n\k. hnorm (starfun X m - starfun X n) < star_of r"
  proof (intro exI allI impI)
    fix M
    assume "whn \ M"
    with HNatInfinite_whn have M: "M \ HNatInfinite"
      by (rule HNatInfinite_upward_closed  by (simp add: Bseq_NSBseq_iff
    lemma  "NSCauchy X \ M \ HNatInfinite \ N \ HNatInfinite \ starfun X M \ starfun X N"
    assume 
    withsubsubsection \<open>Equivalence Between NS and Standard\<close>
      by proof (rule
    from  assume N: "N \ HNatInfinite"
      by (rule  proof (rule    fix r :: real
    then have "starfun X M - starfun X then have "\<forall>m\<ge>star_of k. \<forall>n\<ge>star_of k. hnorm (starfun X m - starfun X n) < star_of r"
      by (simp only: approx_def)
      then show "starfun X M \ starfun X N"

  qed
  then  showsproof (rule  fix r :  assume r: "0 < r"
    by transfer      by (rule    from X M N have "starfun X by by (simp only: approx_def)
qed

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  byjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


subsubsection \<open>Cauchy Sequences are Bounded\<close>

text \<open>A Cauchy sequence is bounded -- nonstandard version.\<close>

lemma NSCauchy_NSBseq    since
    by


subsubsectionproof -

text \<open>Equivalence of Cauchy criterion and convergence:  moreover have "\N\HNatInfinite. ( *f* X) whn \ ( *f* X) N"
  We will prove    by (force dest!: st_part_Exqed
  much  for X :: "nat \ 'a::banach"
  needlemma NSCauchy_NSconvergent_iff: "NSCauchy X = java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 41
  monotonicitylemma NSLIMSEQ_realpow_zero  fixes x   assumes "0 \ x" "x < 1" shows "(\n. x ^ n) \\<^sub>N\<^sub>S 0"
  in HOL    if N: "N \ HNatInfinite" and x: "NSconvergent ((^) x)" for N
  not       by (metis HNatInfinite_add N NSCauchy_NSconvergent_iff NSCauchy_def    moreover obtain L where L: "hypreal_of_real using NSconvergentD [OF x] N by (auto simp add: NSLIMSEQ_def starfun_pow ultimately have "hypreal_of_real x pow N \<approx> hypreal_of_real L * hypreal_of_real x"
  instantiations for his 'espsilon-delta' proof(s) in  qed
  since the NS formulationsqed

lemma NSconvergent_NSCauchy: "NSconvergent X \ NSCauchy X"
  by (simp add: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma real_NSCauchy_NSconvergent: 
  fixes X :: "nat \ real"
  assumes "NSCauchy X" shows "NSconvergent X"
  unfolding NSconvergent_def NSLIMSEQ_def
proof -
  have "( *f* X) whn \ HFinite"
    by (simp add: NSBseqD2 NSCauchy_NSBseq assms)
  moreover have "\N\HNatInfinite. ( *f* X) whn \ ( *f* X) N"
    using HNatInfinite_whn NSCauchy_def assms by blast
  ultimately show "\L. \N\HNatInfinite. ( *f* X) N \ hypreal_of_real L"
    by (force dest!: st_part_Ex simp add: SReal_iff intro: approx_trans3)
qed

lemma NSCauchy_NSconvergent: "NSCauchy X \ NSconvergent X"
  for X :: "nat \ 'a::banach"
  using Cauchy_convergent NSCauchy_Cauchy convergent_NSconvergent_iff by auto

lemma NSCauchy_NSconvergent_iff: "NSCauchy X = NSconvergent X"
  for X :: "nat \ 'a::banach"
  by (fast intro: NSCauchy_NSconvergent NSconvergent_NSCauchy)


subsection \<open>Power Sequences\<close>

text \<open>The sequence \<^term>\<open>x^n\<close> tends to 0 if \<^term>\<open>0\<le>x\<close> and \<^term>\<open>x<1\<close>.  Proof will use (NS) Cauchy equivalence for convergence and
  also fact that bounded and monotonic sequence converges.\<close>

text \<open>We now use NS criterion to bring proof of theorem through.\<close>
lemma NSLIMSEQ_realpow_zero:
  fixes x :: real
  assumes "0 \ x" "x < 1" shows "(\n. x ^ n) \\<^sub>N\<^sub>S 0"
proof -
  have "( *f* (^) x) N \ 0"
    if N: "N \ HNatInfinite" and x: "NSconvergent ((^) x)" for N
  proof -
    have "hypreal_of_real x pow N \ hypreal_of_real x pow (N + 1)"
      by (metis HNatInfinite_add N NSCauchy_NSconvergent_iff NSCauchy_def starfun_pow x)
    moreover obtain L where L: "hypreal_of_real x pow N \ hypreal_of_real L"
      using NSconvergentD [OF x] N by (auto simp add: NSLIMSEQ_def starfun_pow)
    ultimately have "hypreal_of_real x pow N \ hypreal_of_real L * hypreal_of_real x"
      by (simp add: approx_mult_subst_star_of hyperpow_add)
    then have "hypreal_of_real L \ hypreal_of_real L * hypreal_of_real x"
      using L approx_trans3 by blast
    then show ?thesis
      by (metis L \<open>x < 1\<close> hyperpow_def less_irrefl mult.right_neutral mult_left_cancel star_of_approx_iff star_of_mult star_of_simps(9) starfun2_star_of)
  qed
  with assms show ?thesis
    by (force dest!: convergent_realpow simp add: NSLIMSEQ_def convergent_NSconvergent_iff)
qed

lemma NSLIMSEQ_abs_realpow_zero: "\c\ < 1 \ (\n. \c\ ^ n) \\<^sub>N\<^sub>S 0"
  for c :: real
  by (simp add: LIMSEQ_abs_realpow_zero LIMSEQ_NSLIMSEQ_iff [symmetric])

lemma NSLIMSEQ_abs_realpow_zero2: "\c\ < 1 \ (\n. c ^ n) \\<^sub>N\<^sub>S 0"
  for c :: real
  by (simp add: LIMSEQ_abs_realpow_zero2 LIMSEQ_NSLIMSEQ_iff [symmetric])

end

99%


¤ 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.0.19Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.