diff -r 7247cb62406c -r 1d43f86f48be src/HOL/Metis_Examples/Big_O.thy --- a/src/HOL/Metis_Examples/Big_O.thy Mon Dec 28 18:03:26 2015 +0100 +++ b/src/HOL/Metis_Examples/Big_O.thy Mon Dec 28 19:23:15 2015 +0100 @@ -493,7 +493,7 @@ lemma bigo_setsum_main: "\x. \y \ A x. 0 <= h x y \ \c. \x. \y \ A x. \f x y\ <= c * (h x y) \ - (\x. SUM y : A x. f x y) =o O(\x. SUM y : A x. h x y)" + (\x. \y \ A x. f x y) =o O(\x. \y \ A x. h x y)" apply (auto simp add: bigo_def) apply (rule_tac x = "\c\" in exI) apply (subst abs_of_nonneg) back back @@ -508,18 +508,18 @@ lemma bigo_setsum1: "\x y. 0 <= h x y \ \c. \x y. \f x y\ <= c * (h x y) \ - (\x. SUM y : A x. f x y) =o O(\x. SUM y : A x. h x y)" + (\x. \y \ A x. f x y) =o O(\x. \y \ A x. h x y)" by (metis (no_types) bigo_setsum_main) lemma bigo_setsum2: "\y. 0 <= h y \ \c. \y. \f y\ <= c * (h y) \ - (\x. SUM y : A x. f y) =o O(\x. SUM y : A x. h y)" + (\x. \y \ A x. f y) =o O(\x. \y \ A x. h y)" apply (rule bigo_setsum1) by metis+ lemma bigo_setsum3: "f =o O(h) \ - (\x. SUM y : A x. (l x y) * f(k x y)) =o - O(\x. SUM y : A x. \l x y * h(k x y)\)" + (\x. \y \ A x. (l x y) * f(k x y)) =o + O(\x. \y \ A x. \l x y * h(k x y)\)" apply (rule bigo_setsum1) apply (rule allI)+ apply (rule abs_ge_zero) @@ -528,9 +528,9 @@ by (metis abs_ge_zero mult.left_commute mult_left_mono) lemma bigo_setsum4: "f =o g +o O(h) \ - (\x. SUM y : A x. l x y * f(k x y)) =o - (\x. SUM y : A x. l x y * g(k x y)) +o - O(\x. SUM y : A x. \l x y * h(k x y)\)" + (\x. \y \ A x. l x y * f(k x y)) =o + (\x. \y \ A x. l x y * g(k x y)) +o + O(\x. \y \ A x. \l x y * h(k x y)\)" apply (rule set_minus_imp_plus) apply (subst fun_diff_def) apply (subst setsum_subtractf [symmetric]) @@ -540,10 +540,10 @@ lemma bigo_setsum5: "f =o O(h) \ \x y. 0 <= l x y \ \x. 0 <= h x \ - (\x. SUM y : A x. (l x y) * f(k x y)) =o - O(\x. SUM y : A x. (l x y) * h(k x y))" -apply (subgoal_tac "(\x. SUM y : A x. (l x y) * h(k x y)) = - (\x. SUM y : A x. \(l x y) * h(k x y)\)") + (\x. \y \ A x. (l x y) * f(k x y)) =o + O(\x. \y \ A x. (l x y) * h(k x y))" +apply (subgoal_tac "(\x. \y \ A x. (l x y) * h(k x y)) = + (\x. \y \ A x. \(l x y) * h(k x y)\)") apply (erule ssubst) apply (erule bigo_setsum3) apply (rule ext) @@ -553,9 +553,9 @@ lemma bigo_setsum6: "f =o g +o O(h) \ \x y. 0 <= l x y \ \x. 0 <= h x \ - (\x. SUM y : A x. (l x y) * f(k x y)) =o - (\x. SUM y : A x. (l x y) * g(k x y)) +o - O(\x. SUM y : A x. (l x y) * h(k x y))" + (\x. \y \ A x. (l x y) * f(k x y)) =o + (\x. \y \ A x. (l x y) * g(k x y)) +o + O(\x. \y \ A x. (l x y) * h(k x y))" apply (rule set_minus_imp_plus) apply (subst fun_diff_def) apply (subst setsum_subtractf [symmetric])