diff -r 25d539a4b5bb -r ec3cc98c38db src/HOL/Analysis/Vitali_Covering_Theorem.thy --- a/src/HOL/Analysis/Vitali_Covering_Theorem.thy Thu Jan 24 14:45:07 2019 +0000 +++ b/src/HOL/Analysis/Vitali_Covering_Theorem.thy Fri Jan 25 02:38:26 2019 +0000 @@ -2,29 +2,29 @@ Authors: LC Paulson, based on material from HOL Light *) -section%important \Vitali Covering Theorem and an Application to Negligibility\ +section \Vitali Covering Theorem and an Application to Negligibility\ theory Vitali_Covering_Theorem imports Ball_Volume "HOL-Library.Permutations" begin -lemma%important stretch_Galois: +lemma stretch_Galois: fixes x :: "real^'n" shows "(\k. m k \ 0) \ ((y = (\ k. m k * x$k)) \ (\ k. y$k / m k) = x)" - by%unimportant auto + by auto -lemma%important lambda_swap_Galois: +lemma lambda_swap_Galois: "(x = (\ i. y $ Fun.swap m n id i) \ (\ i. x $ Fun.swap m n id i) = y)" - by%unimportant (auto; simp add: pointfree_idE vec_eq_iff) + by (auto; simp add: pointfree_idE vec_eq_iff) -lemma%important lambda_add_Galois: +lemma lambda_add_Galois: fixes x :: "real^'n" shows "m \ n \ (x = (\ i. if i = m then y$m + y$n else y$i) \ (\ i. if i = m then x$m - x$n else x$i) = y)" - by%unimportant (safe; simp add: vec_eq_iff) + by (safe; simp add: vec_eq_iff) -lemma%important Vitali_covering_lemma_cballs_balls: +lemma Vitali_covering_lemma_cballs_balls: fixes a :: "'a \ 'b::euclidean_space" assumes "\i. i \ K \ 0 < r i \ r i \ B" obtains C where "countable C" "C \ K" @@ -32,7 +32,7 @@ "\i. i \ K \ \j. j \ C \ \ disjnt (cball (a i) (r i)) (cball (a j) (r j)) \ cball (a i) (r i) \ ball (a j) (5 * r j)" -proof%unimportant (cases "K = {}") +proof (cases "K = {}") case True with that show ?thesis by auto @@ -236,14 +236,14 @@ subsection\Vitali covering theorem\ -lemma%unimportant Vitali_covering_lemma_cballs: +lemma Vitali_covering_lemma_cballs: fixes a :: "'a \ 'b::euclidean_space" assumes S: "S \ (\i\K. cball (a i) (r i))" and r: "\i. i \ K \ 0 < r i \ r i \ B" obtains C where "countable C" "C \ K" "pairwise (\i j. disjnt (cball (a i) (r i)) (cball (a j) (r j))) C" "S \ (\i\C. cball (a i) (5 * r i))" -proof%unimportant - +proof - obtain C where C: "countable C" "C \ K" "pairwise (\i j. disjnt (cball (a i) (r i)) (cball (a j) (r j))) C" and cov: "\i. i \ K \ \j. j \ C \ \ disjnt (cball (a i) (r i)) (cball (a j) (r j)) \ @@ -258,14 +258,14 @@ qed (use C in auto) qed -lemma%important Vitali_covering_lemma_balls: +lemma Vitali_covering_lemma_balls: fixes a :: "'a \ 'b::euclidean_space" assumes S: "S \ (\i\K. ball (a i) (r i))" and r: "\i. i \ K \ 0 < r i \ r i \ B" obtains C where "countable C" "C \ K" "pairwise (\i j. disjnt (ball (a i) (r i)) (ball (a j) (r j))) C" "S \ (\i\C. ball (a i) (5 * r i))" -proof%unimportant - +proof - obtain C where C: "countable C" "C \ K" and pw: "pairwise (\i j. disjnt (cball (a i) (r i)) (cball (a j) (r j))) C" and cov: "\i. i \ K \ \j. j \ C \ \ disjnt (cball (a i) (r i)) (cball (a j) (r j)) \ @@ -285,7 +285,7 @@ qed -proposition%important Vitali_covering_theorem_cballs: +theorem Vitali_covering_theorem_cballs: fixes a :: "'a \ 'n::euclidean_space" assumes r: "\i. i \ K \ 0 < r i" and S: "\x d. \x \ S; 0 < d\ @@ -293,7 +293,7 @@ obtains C where "countable C" "C \ K" "pairwise (\i j. disjnt (cball (a i) (r i)) (cball (a j) (r j))) C" "negligible(S - (\i \ C. cball (a i) (r i)))" -proof%unimportant - +proof - let ?\ = "measure lebesgue" have *: "\C. countable C \ C \ K \ pairwise (\i j. disjnt (cball (a i) (r i)) (cball (a j) (r j))) C \ @@ -493,13 +493,13 @@ qed -proposition%important Vitali_covering_theorem_balls: +theorem Vitali_covering_theorem_balls: fixes a :: "'a \ 'b::euclidean_space" assumes S: "\x d. \x \ S; 0 < d\ \ \i. i \ K \ x \ ball (a i) (r i) \ r i < d" obtains C where "countable C" "C \ K" "pairwise (\i j. disjnt (ball (a i) (r i)) (ball (a j) (r j))) C" "negligible(S - (\i \ C. ball (a i) (r i)))" -proof%unimportant - +proof - have 1: "\i. i \ {i \ K. 0 < r i} \ x \ cball (a i) (r i) \ r i < d" if xd: "x \ S" "d > 0" for x d by (metis (mono_tags, lifting) assms ball_eq_empty less_eq_real_def mem_Collect_eq mem_ball mem_cball not_le xd(1) xd(2)) @@ -523,7 +523,7 @@ qed -lemma%unimportant negligible_eq_zero_density_alt: +lemma negligible_eq_zero_density_alt: "negligible S \ (\x \ S. \e > 0. \d U. 0 < d \ d \ e \ S \ ball x d \ U \ @@ -635,11 +635,11 @@ by metis qed -proposition%important negligible_eq_zero_density: +proposition negligible_eq_zero_density: "negligible S \ (\x\S. \r>0. \e>0. \d. 0 < d \ d \ r \ (\U. S \ ball x d \ U \ U \ lmeasurable \ measure lebesgue U < e * measure lebesgue (ball x d)))" -proof%unimportant - +proof - let ?Q = "\x d e. \U. S \ ball x d \ U \ U \ lmeasurable \ measure lebesgue U < e * content (ball x d)" have "(\e>0. \d>0. d \ e \ ?Q x d e) = (\r>0. \e>0. \d>0. d \ r \ ?Q x d e)" if "x \ S" for x