src/HOL/Hyperreal/Lim.ML
changeset 13601 fd3e3d6b37b2
parent 12486 0ed8bdd883e0
child 13630 a013a9dd370f
equal deleted inserted replaced
13600:9702c8636a7b 13601:fd3e3d6b37b2
  1642 by (cut_inst_tac
  1642 by (cut_inst_tac
  1643     [("P","%(u,v). a \\<le> u & u \\<le> v & v \\<le> b --> ~(f(u) \\<le> y & y \\<le> f(v))")] 
  1643     [("P","%(u,v). a \\<le> u & u \\<le> v & v \\<le> b --> ~(f(u) \\<le> y & y \\<le> f(v))")] 
  1644     lemma_BOLZANO2 1);
  1644     lemma_BOLZANO2 1);
  1645 by Safe_tac;
  1645 by Safe_tac;
  1646 by (ALLGOALS(Asm_full_simp_tac));
  1646 by (ALLGOALS(Asm_full_simp_tac));
  1647 by (Blast_tac 2);
       
  1648 by (asm_full_simp_tac (simpset() addsimps [isCont_iff,LIM_def]) 1);
  1647 by (asm_full_simp_tac (simpset() addsimps [isCont_iff,LIM_def]) 1);
  1649 by (rtac ccontr 1);
  1648 by (rtac ccontr 1);
  1650 by (subgoal_tac "a \\<le> x & x \\<le> b" 1);
  1649 by (subgoal_tac "a \\<le> x & x \\<le> b" 1);
  1651 by (Asm_full_simp_tac 2);
  1650 by (Asm_full_simp_tac 2);
  1652 by (dres_inst_tac [("P", "%d. 0<d --> ?P d"),("x","1")] spec 2);
  1651 by (dres_inst_tac [("P", "%d. 0<d --> ?P d"),("x","1")] spec 2);
  1897 by (dres_inst_tac [("x","-h")] spec 1);
  1896 by (dres_inst_tac [("x","-h")] spec 1);
  1898 by (asm_full_simp_tac
  1897 by (asm_full_simp_tac
  1899     (simpset() addsimps [real_abs_def, real_inverse_eq_divide, 
  1898     (simpset() addsimps [real_abs_def, real_inverse_eq_divide, 
  1900                          pos_real_less_divide_eq,
  1899                          pos_real_less_divide_eq,
  1901                          symmetric real_diff_def]
  1900                          symmetric real_diff_def]
  1902                addsplits [split_if_asm]) 1);
  1901                addsplits [split_if_asm]
       
  1902                delsimprocs [fast_real_arith_simproc]) 1);
  1903 by (subgoal_tac "0 < (f (x - h) - f x)/h" 1);
  1903 by (subgoal_tac "0 < (f (x - h) - f x)/h" 1);
  1904 by (arith_tac 2);
  1904 by (arith_tac 2);
  1905 by (asm_full_simp_tac
  1905 by (asm_full_simp_tac
  1906     (simpset() addsimps [pos_real_less_divide_eq]) 1); 
  1906     (simpset() addsimps [pos_real_less_divide_eq]) 1); 
  1907 qed "DERIV_left_dec";
  1907 qed "DERIV_left_dec";
  2018 by (res_inst_tac [("x1","a"),("y1","xa")] (order_le_imp_less_or_eq RS disjE) 5);
  2018 by (res_inst_tac [("x1","a"),("y1","xa")] (order_le_imp_less_or_eq RS disjE) 5);
  2019 by (assume_tac 5);
  2019 by (assume_tac 5);
  2020 by (dres_inst_tac [("z","xa"),("w","b")] real_le_anti_sym 5);
  2020 by (dres_inst_tac [("z","xa"),("w","b")] real_le_anti_sym 5);
  2021 by (REPEAT(Asm_full_simp_tac 2));
  2021 by (REPEAT(Asm_full_simp_tac 2));
  2022 by (dtac real_dense 1 THEN etac exE 1);
  2022 by (dtac real_dense 1 THEN etac exE 1);
  2023 by (res_inst_tac [("x","r")] exI 1 THEN Asm_full_simp_tac 1);
  2023 by (res_inst_tac [("x","r")] exI 1 THEN Asm_simp_tac 1);
  2024 by (etac conjE 1);
  2024 by (etac conjE 1);
  2025 by (forw_inst_tac [("a","a"),("x","r")] lemma_interval 1);
  2025 by (forw_inst_tac [("a","a"),("x","r")] lemma_interval 1);
  2026 by (EVERY1[assume_tac, etac exE]);
  2026 by (EVERY1[assume_tac, etac exE]);
  2027 by (subgoal_tac "(\\<exists>l. DERIV f r :> l) & \
  2027 by (subgoal_tac "(\\<exists>l. DERIV f r :> l) & \
  2028 \        (\\<exists>d. 0 < d & (\\<forall>y. abs(r - y) < d --> f(r) = f(y)))" 1);
  2028 \        (\\<exists>d. 0 < d & (\\<forall>y. abs(r - y) < d --> f(r) = f(y)))" 1);
  2155 
  2155 
  2156 (* Gallileo's "trick": average velocity = av. of end velocities *)
  2156 (* Gallileo's "trick": average velocity = av. of end velocities *)
  2157 Goal "[|a \\<noteq> (b::real); \\<forall>x. DERIV v x :> k|] \
  2157 Goal "[|a \\<noteq> (b::real); \\<forall>x. DERIV v x :> k|] \
  2158 \     ==> v((a + b)/2) = (v a + v b)/2";
  2158 \     ==> v((a + b)/2) = (v a + v b)/2";
  2159 by (res_inst_tac [("R1.0","a"),("R2.0","b")] real_linear_less2 1);
  2159 by (res_inst_tac [("R1.0","a"),("R2.0","b")] real_linear_less2 1);
  2160 by Auto_tac;
  2160 by Safe_tac;
  2161 by (ftac DERIV_const_ratio_const2 1 THEN assume_tac 1);
  2161 by (ftac DERIV_const_ratio_const2 1 THEN assume_tac 1);
  2162 by (ftac DERIV_const_ratio_const2 2 THEN assume_tac 2);
  2162 by (ftac DERIV_const_ratio_const2 2 THEN assume_tac 2);
  2163 by (dtac real_less_half_sum 1);
  2163 by (dtac real_less_half_sum 1);
  2164 by (dtac real_gt_half_sum 2); 
  2164 by (dtac real_gt_half_sum 2); 
  2165 by (ftac (real_not_refl2 RS DERIV_const_ratio_const2) 1 THEN assume_tac 1);
  2165 by (ftac (real_not_refl2 RS DERIV_const_ratio_const2) 1 THEN assume_tac 1);