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); |