(* Limite_multiplicado_por_una_constante.thy -- Límite multiplicado por una constante -- José A. Alonso Jiménez -- Sevilla, 15 de julio de 2021 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- En Isabelle/HOL, una sucesión u₀, u₁, u₂, ... se puede representar -- mediante una función (u : \ \ \) de forma que u(n) es uₙ. -- -- Se define que a es el límite de la sucesión u, por -- definition limite :: "(nat \ real) \ real \ bool" -- where "limite u c \ (\\>0. \k::nat. \n\k. \u n - c\ < \)" -- -- Demostrar que que si el límite de u(i) es a, entonces el de -- c*u(i) es c*a. -- ------------------------------------------------------------------ *) theory Limite_multiplicado_por_una_constante imports Main HOL.Real begin definition limite :: "(nat \ real) \ real \ bool" where "limite u c \ (\\>0. \k::nat. \n\k. \u n - c\ < \)" lemma assumes "limite u a" shows "limite (\ n. c * u n) (c * a)" proof (unfold limite_def) show "\\>0. \k. \n\k. \c * u n - c * a\ < \" proof (intro allI impI) fix \ :: real assume "0 < \" show "\k. \n\k. \c * u n - c * a\ < \" proof (cases "c = 0") assume "c = 0" then show "\k. \n\k. \c * u n - c * a\ < \" by (simp add: \0 < \\) next assume "c \ 0" then have "0 < \c\" by simp then have "0 < \/\c\" by (simp add: \0 < \\) then obtain N where hN : "\n\N. \u n - a\ < \/\c\" using assms limite_def by auto have "\n\N. \c * u n - c * a\ < \" proof (intro allI impI) fix n assume "n \ N" have "\c * u n - c * a\ = \c * (u n - a)\" by argo also have "\ = \c\ * \u n - a\" by (simp only: abs_mult) also have "\ < \c\ * (\/\c\)" using hN \n \ N\ \0 < \c\\ by (simp only: mult_strict_left_mono) finally show "\c * u n - c * a\ < \" using \0 < \c\\ by auto qed then show "\k. \n\k. \c * u n - c * a\ < \" by (rule exI) qed qed qed end