equal
deleted
inserted
replaced
484 assume 0: "\<And>y. lb y \<le> f y" |
484 assume 0: "\<And>y. lb y \<le> f y" |
485 assume 1: "\<not> (0\<Colon>'b) \<le> f x + - lb x" |
485 assume 1: "\<not> (0\<Colon>'b) \<le> f x + - lb x" |
486 have 2: "\<And>X3. (0\<Colon>'b) + X3 = X3" |
486 have 2: "\<And>X3. (0\<Colon>'b) + X3 = X3" |
487 by (metis diff_eq_eq right_minus_eq) |
487 by (metis diff_eq_eq right_minus_eq) |
488 have 3: "\<not> (0\<Colon>'b) \<le> f x - lb x" |
488 have 3: "\<not> (0\<Colon>'b) \<le> f x - lb x" |
489 by (metis 1 compare_rls(1)) |
489 by (metis 1 diff_minus) |
490 have 4: "\<not> (0\<Colon>'b) + lb x \<le> f x" |
490 have 4: "\<not> (0\<Colon>'b) + lb x \<le> f x" |
491 by (metis 3 le_diff_eq) |
491 by (metis 3 le_diff_eq) |
492 show "False" |
492 show "False" |
493 by (metis 4 2 0) |
493 by (metis 4 2 0) |
494 qed |
494 qed |
1195 apply (rule allI) |
1195 apply (rule allI) |
1196 apply (subst fun_diff_def) |
1196 apply (subst fun_diff_def) |
1197 apply (erule thin_rl) |
1197 apply (erule thin_rl) |
1198 (*sledgehammer*); |
1198 (*sledgehammer*); |
1199 apply (case_tac "0 <= f x - k x") |
1199 apply (case_tac "0 <= f x - k x") |
1200 apply (simp del: compare_rls diff_minus); |
1200 apply (simp) |
1201 apply (subst abs_of_nonneg) |
1201 apply (subst abs_of_nonneg) |
1202 apply (drule_tac x = x in spec) back |
1202 apply (drule_tac x = x in spec) back |
1203 ML_command{*AtpWrapper.problem_name := "BigO__bigo_lesso3_simpler"*} |
1203 ML_command{*AtpWrapper.problem_name := "BigO__bigo_lesso3_simpler"*} |
1204 apply (metis diff_less_0_iff_less linorder_not_le not_leE uminus_add_conv_diff xt1(12) xt1(6)) |
1204 apply (metis diff_less_0_iff_less linorder_not_le not_leE uminus_add_conv_diff xt1(12) xt1(6)) |
1205 apply (metis add_minus_cancel diff_le_eq le_diff_eq uminus_add_conv_diff) |
1205 apply (metis add_minus_cancel diff_le_eq le_diff_eq uminus_add_conv_diff) |
1214 apply (simp add: fun_diff_def) |
1214 apply (simp add: fun_diff_def) |
1215 apply (drule bigo_useful_add) |
1215 apply (drule bigo_useful_add) |
1216 apply assumption |
1216 apply assumption |
1217 apply (erule bigo_lesseq2) back |
1217 apply (erule bigo_lesseq2) back |
1218 apply (rule allI) |
1218 apply (rule allI) |
1219 apply (auto simp add: func_plus fun_diff_def compare_rls |
1219 apply (auto simp add: func_plus fun_diff_def algebra_simps |
1220 split: split_max abs_split) |
1220 split: split_max abs_split) |
1221 done |
1221 done |
1222 |
1222 |
1223 ML_command{*AtpWrapper.problem_name := "BigO__bigo_lesso5"*} |
1223 ML_command{*AtpWrapper.problem_name := "BigO__bigo_lesso5"*} |
1224 lemma bigo_lesso5: "f <o g =o O(h) ==> |
1224 lemma bigo_lesso5: "f <o g =o O(h) ==> |