(* Las_subsucesiones_tienen_el_mismo_limite_que_la_sucesion.thy -- Las subsucesiones tienen el mismo límite que la sucesión. -- José A. Alonso Jiménez -- Sevilla, 15-julio-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Para extraer una subsucesión se aplica una función de extracción que -- conserva el orden; por ejemplo, la subsucesión -- uₒ, u₂, u₄, u₆, ... -- se ha obtenido con la función de extracción \ tal que \(n) = 2*n. -- -- En Isabelle/HOL, se puede definir que \ es una función de extracción -- por -- definition extraccion :: "(nat \ nat) \ bool" where -- "extraccion \ \ (\ n m. n < m \ \ n < \ m)" -- que v es una subsucesión de u por -- definition subsucesion :: "(nat \ real) \ (nat \ real) \ bool" -- where "subsucesion v u \ (\ \. extraccion \ \ v = u \ \)" -- y que a es un límite de u por -- definition limite :: "(nat \ real) \ real \ bool" -- where "limite u a \ (\\>0. \N. \k\N. \u k - a\ < \)" -- -- Demostrar que las subsucesiones de una sucesión convergente tienen el -- mismo límite que la sucesión. -- ------------------------------------------------------------------ *) theory Las_subsucesiones_tienen_el_mismo_limite_que_la_sucesion imports Main HOL.Real begin definition extraccion :: "(nat \ nat) \ bool" where "extraccion \ \ (\ n m. n < m \ \ n < \ m)" definition subsucesion :: "(nat \ real) \ (nat \ real) \ bool" where "subsucesion v u \ (\ \. extraccion \ \ v = u \ \)" definition limite :: "(nat \ real) \ real \ bool" where "limite u a \ (\\>0. \N. \k\N. \u k - a\ < \)" (* En la demostración se usará el siguiente lema *) lemma aux : assumes "extraccion \" shows "n \ \ n" proof (induct n) show "0 \ \ 0" by simp next fix n assume HI : "n \ \ n" then show "Suc n \ \ (Suc n)" using assms extraccion_def by (metis Suc_leI lessI order_le_less_subst1) qed (* Demostración *) lemma assumes "subsucesion v u" "limite u a" shows "limite v a" proof (unfold limite_def; intro allI impI) fix \ :: real assume "\ > 0" then obtain N where hN : "\k\N. \u k - a\ < \" using assms(2) limite_def by auto obtain \ where h\1 : "extraccion \" and h\2 : "v = u \ \" using assms(1) subsucesion_def by auto have "\k\N. \v k - a\ < \" proof (intro allI impI) fix k assume "N \ k" also have "... \ \ k" by (simp add: aux h\1) finally have "N \ \ k" . have "\v k - a\ = \u (\ k) - a\" using h\2 by simp also have "\ < \" using hN \N \ \ k\ by simp finally show "\v k - a\ < \" . qed then show "\N. \k\N. \v k - a\ < \" by auto qed end