src/HOL/Real_Asymp/Multiseries_Expansion.thy
changeset 80175 200107cdd3ac
parent 78937 5e6b195eee83
child 80521 5c691b178e08
equal deleted inserted replaced
80174:32d2b96affc7 80175:200107cdd3ac
  4217   moreover from b_limit have "eventually (\<lambda>x. b x > 0) at_top"
  4217   moreover from b_limit have "eventually (\<lambda>x. b x > 0) at_top"
  4218     by (simp add: filterlim_at_top_dense)
  4218     by (simp add: filterlim_at_top_dense)
  4219   hence "eventually (\<lambda>x. ?h x = g x - c * ln (b x) - 
  4219   hence "eventually (\<lambda>x. ?h x = g x - c * ln (b x) - 
  4220            eval (C - const_expansion c * L) x * b x powr e) at_top" 
  4220            eval (C - const_expansion c * L) x * b x powr e) at_top" 
  4221     (is "eventually (\<lambda>x. _ = ?h x) _") using assms(2)
  4221     (is "eventually (\<lambda>x. _ = ?h x) _") using assms(2)
  4222     by (auto simp: expands_to.simps scale_ms_def elim: eventually_elim2)
  4222     apply (simp add: expands_to.simps scale_ms_def)
  4223   ultimately have **: "is_expansion_aux xs ?h (b # basis)" by (rule is_expansion_aux_cong)
  4223     by (smt (verit) eventually_cong)
       
  4224   ultimately have **: "is_expansion_aux xs ?h (b # basis)" 
       
  4225     by (rule is_expansion_aux_cong)
  4224   from assms(1,4) have "ms_exp_gt 0 (ms_aux_hd_exp xs)" "is_expansion C basis"
  4226   from assms(1,4) have "ms_exp_gt 0 (ms_aux_hd_exp xs)" "is_expansion C basis"
  4225     by (auto simp: expands_to.simps elim!: is_expansion_aux_MSLCons)
  4227     by (auto simp: expands_to.simps elim!: is_expansion_aux_MSLCons)
  4226   moreover from assms(1) have "length basis = expansion_level TYPE('a)"
  4228   moreover from assms(1) have "length basis = expansion_level TYPE('a)"
  4227     by (auto simp: expands_to.simps dest: is_expansion_aux_expansion_level)
  4229     by (auto simp: expands_to.simps dest: is_expansion_aux_expansion_level)
  4228   ultimately have "is_expansion_aux (MSLCons (C - scale_ms c L, e) xs) 
  4230   ultimately have "is_expansion_aux (MSLCons (C - scale_ms c L, e) xs) 
  4229                      (\<lambda>x. g x - c * ln (b x)) (b # basis)" using assms unfolding scale_ms_def
  4231                      (\<lambda>x. g x - c * ln (b x)) (b # basis)" 
       
  4232     using assms unfolding scale_ms_def
  4230     by (intro is_expansion_aux.intros is_expansion_minus is_expansion_mult is_expansion_const * **)
  4233     by (intro is_expansion_aux.intros is_expansion_minus is_expansion_mult is_expansion_const * **)
  4231        (simp_all add: basis_wf_Cons expands_to.simps)
  4234        (simp_all add: basis_wf_Cons expands_to.simps)
  4232   with assms(1) show ?thesis by (auto simp: expands_to.simps)
  4235   with assms(1) show ?thesis by (auto simp: expands_to.simps)
  4233 qed
  4236 qed
  4234     
  4237