(* Teorema_del_emparedado.lean -- Teorema del emparedado -- José A. Alonso Jiménez -- Sevilla, 19 de febrero de 2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- 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 si para todo n, u(n) \ v(n) \ w(n) y u(n) tiene el -- mismo límite que, entonces v(n) también tiene dicho límite. -- ------------------------------------------------------------------ *) theory Teorema_del_emparedado 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" "limite w a" "\n. u n \ v n" "\n. v n \ w n" shows "limite v a" proof (unfold limite_def; intro allI impI) fix \ :: real assume h\ : "0 < \" obtain N where hN : "\n\N. \u n - a\ < \" using assms(1) h\ limite_def by auto obtain N' where hN' : "\n\N'. \w n - a\ < \" using assms(2) h\ limite_def by auto have "\n\max N N'. \v n - a\ < \" proof (intro allI impI) fix n assume hn : "n\max N N'" have "v n - a < \" proof - have "v n - a \ w n - a" using assms(4) by simp also have "\ \ \w n - a\" by simp also have "\ < \" using hN' hn by auto finally show "v n - a < \" . qed moreover have "-(v n - a) < \" proof - have "-(v n - a) \ -(u n - a)" using assms(3) by auto also have "\ \ \u n - a\" by simp also have "\ < \" using hN hn by auto finally show "-(v n - a) < \" . qed ultimately show "\v n - a\ < \" by (simp only: abs_less_iff) qed then show "\k. \n\k. \v n - a\ < \" by (rule exI) qed end