# HG changeset patch # User noschinl # Date 1331584871 -3600 # Node ID 154dc6ec00411008e2389ed4ff6ccee32befa8c4 # Parent eec472dae5932ad214ce547a9933cc1441a16477 tuned proofs diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Complete_Lattices.thy --- a/src/HOL/Complete_Lattices.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Complete_Lattices.thy Mon Mar 12 21:41:11 2012 +0100 @@ -591,20 +591,20 @@ by (simp add: Sup_fun_def) instance proof -qed (auto simp add: le_fun_def Inf_apply Sup_apply intro: INF_lower INF_greatest SUP_upper SUP_least) +qed (auto simp add: le_fun_def intro: INF_lower INF_greatest SUP_upper SUP_least) end lemma INF_apply [simp]: "(\y\A. f y) x = (\y\A. f y x)" - by (auto intro: arg_cong [of _ _ Inf] simp add: INF_def Inf_apply) + by (auto intro: arg_cong [of _ _ Inf] simp add: INF_def) lemma SUP_apply [simp]: "(\y\A. f y) x = (\y\A. f y x)" - by (auto intro: arg_cong [of _ _ Sup] simp add: SUP_def Sup_apply) + by (auto intro: arg_cong [of _ _ Sup] simp add: SUP_def) instance "fun" :: (type, complete_distrib_lattice) complete_distrib_lattice proof -qed (auto simp add: inf_apply sup_apply Inf_apply Sup_apply INF_def SUP_def inf_Sup sup_Inf image_image) +qed (auto simp add: INF_def SUP_def inf_Sup sup_Inf image_image) instance "fun" :: (type, complete_boolean_algebra) complete_boolean_algebra .. @@ -612,46 +612,46 @@ subsection {* Complete lattice on unary and binary predicates *} lemma INF1_iff: "(\x\A. B x) b = (\x\A. B x b)" - by (simp add: INF_apply) + by simp lemma INF2_iff: "(\x\A. B x) b c = (\x\A. B x b c)" - by (simp add: INF_apply) + by simp lemma INF1_I: "(\x. x \ A \ B x b) \ (\x\A. B x) b" - by (auto simp add: INF_apply) + by auto lemma INF2_I: "(\x. x \ A \ B x b c) \ (\x\A. B x) b c" - by (auto simp add: INF_apply) + by auto lemma INF1_D: "(\x\A. B x) b \ a \ A \ B a b" - by (auto simp add: INF_apply) + by auto lemma INF2_D: "(\x\A. B x) b c \ a \ A \ B a b c" - by (auto simp add: INF_apply) + by auto lemma INF1_E: "(\x\A. B x) b \ (B a b \ R) \ (a \ A \ R) \ R" - by (auto simp add: INF_apply) + by auto lemma INF2_E: "(\x\A. B x) b c \ (B a b c \ R) \ (a \ A \ R) \ R" - by (auto simp add: INF_apply) + by auto lemma SUP1_iff: "(\x\A. B x) b = (\x\A. B x b)" - by (simp add: SUP_apply) + by simp lemma SUP2_iff: "(\x\A. B x) b c = (\x\A. B x b c)" - by (simp add: SUP_apply) + by simp lemma SUP1_I: "a \ A \ B a b \ (\x\A. B x) b" - by (auto simp add: SUP_apply) + by auto lemma SUP2_I: "a \ A \ B a b c \ (\x\A. B x) b c" - by (auto simp add: SUP_apply) + by auto lemma SUP1_E: "(\x\A. B x) b \ (\x. x \ A \ B x b \ R) \ R" - by (auto simp add: SUP_apply) + by auto lemma SUP2_E: "(\x\A. B x) b c \ (\x. x \ A \ B x b c \ R) \ R" - by (auto simp add: SUP_apply) + by auto subsection {* Complete lattice on @{typ "_ set"} *} diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Lattices.thy --- a/src/HOL/Lattices.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Lattices.thy Mon Mar 12 21:41:11 2012 +0100 @@ -662,12 +662,12 @@ by (simp add: sup_fun_def) instance proof -qed (simp_all add: le_fun_def inf_apply sup_apply) +qed (simp_all add: le_fun_def) end instance "fun" :: (type, distrib_lattice) distrib_lattice proof -qed (rule ext, simp add: sup_inf_distrib1 inf_apply sup_apply) +qed (rule ext, simp add: sup_inf_distrib1) instance "fun" :: (type, bounded_lattice) bounded_lattice .. @@ -700,7 +700,7 @@ end instance "fun" :: (type, boolean_algebra) boolean_algebra proof -qed (rule ext, simp_all add: inf_apply sup_apply bot_apply top_apply uminus_apply minus_apply inf_compl_bot sup_compl_top diff_eq)+ +qed (rule ext, simp_all add: inf_compl_bot sup_compl_top diff_eq)+ subsection {* Lattice on unary and binary predicates *} diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Library/Cset.thy --- a/src/HOL/Library/Cset.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Library/Cset.thy Mon Mar 12 21:41:11 2012 +0100 @@ -175,10 +175,10 @@ subsection {* Simplified simprules *} lemma empty_simp [simp]: "member Cset.empty = bot" - by (simp add: fun_eq_iff bot_apply) + by (simp add: fun_eq_iff) lemma UNIV_simp [simp]: "member Cset.UNIV = top" - by (simp add: fun_eq_iff top_apply) + by (simp add: fun_eq_iff) lemma is_empty_simp [simp]: "is_empty A \ set_of A = {}" @@ -222,7 +222,7 @@ lemma member_SUP [simp]: "member (SUPR A f) = SUPR A (member \ f)" - by (auto simp add: fun_eq_iff SUP_apply member_def, unfold SUP_def, auto) + by (auto simp add: fun_eq_iff member_def, unfold SUP_def, auto) lemma member_bind [simp]: "member (P \= f) = SUPR (set_of P) (member \ f)" @@ -247,14 +247,14 @@ lemma bind_single [simp]: "A \= single = A" - by (simp add: Cset.set_eq_iff SUP_apply fun_eq_iff single_def member_def) + by (simp add: Cset.set_eq_iff fun_eq_iff single_def member_def) lemma bind_const: "A \= (\_. B) = (if Cset.is_empty A then Cset.empty else B)" by (auto simp add: Cset.set_eq_iff fun_eq_iff) lemma empty_bind [simp]: "Cset.empty \= f = Cset.empty" - by (simp add: Cset.set_eq_iff fun_eq_iff bot_apply) + by (simp add: Cset.set_eq_iff fun_eq_iff ) lemma member_of_pred [simp]: "member (of_pred P) = (\x. x \ {x. Predicate.eval P x})" @@ -360,7 +360,7 @@ Predicate.Empty \ Cset.empty | Predicate.Insert x P \ Cset.insert x (of_pred P) | Predicate.Join P xq \ sup (of_pred P) (of_seq xq))" - by (auto split: seq.split simp add: Predicate.Seq_def of_pred_def Cset.set_eq_iff sup_apply eval_member [symmetric] member_def [symmetric]) + by (auto split: seq.split simp add: Predicate.Seq_def of_pred_def Cset.set_eq_iff eval_member [symmetric] member_def [symmetric]) lemma of_seq_code [code]: "of_seq Predicate.Empty = Cset.empty" diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Library/Predicate_Compile_Alternative_Defs.thy --- a/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Mon Mar 12 21:41:11 2012 +0100 @@ -41,7 +41,7 @@ lemma Diff[code_pred_inline]: "(A - B) = (%x. A x \ \ B x)" - by (simp add: fun_eq_iff minus_apply) + by (simp add: fun_eq_iff) lemma subset_eq[code_pred_inline]: "(P :: 'a => bool) < (Q :: 'a => bool) == ((\x. Q x \ (\ P x)) \ (\ x. P x --> Q x))" @@ -232,4 +232,4 @@ lemma less_nat_k_0 [code_pred_simp]: "less_nat k 0 == False" unfolding less_nat[symmetric] by auto -end \ No newline at end of file +end diff -r eec472dae593 -r 154dc6ec0041 src/HOL/List.thy --- a/src/HOL/List.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/List.thy Mon Mar 12 21:41:11 2012 +0100 @@ -4533,7 +4533,7 @@ "listsp A (x # xs)" lemma listsp_mono [mono]: "A \ B ==> listsp A \ listsp B" -by (rule predicate1I, erule listsp.induct, (blast dest: predicate1D)+) +by (rule predicate1I, erule listsp.induct, blast+) lemmas lists_mono = listsp_mono [to_set] diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Orderings.thy --- a/src/HOL/Orderings.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Orderings.thy Mon Mar 12 21:41:11 2012 +0100 @@ -1304,7 +1304,7 @@ by (simp add: bot_fun_def) instance proof -qed (simp add: le_fun_def bot_apply) +qed (simp add: le_fun_def) end @@ -1320,7 +1320,7 @@ by (simp add: top_fun_def) instance proof -qed (simp add: le_fun_def top_apply) +qed (simp add: le_fun_def) end diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Predicate.thy --- a/src/HOL/Predicate.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Predicate.thy Mon Mar 12 21:41:11 2012 +0100 @@ -123,7 +123,7 @@ by (simp add: minus_pred_def) instance proof -qed (auto intro!: pred_eqI simp add: uminus_apply minus_apply INF_apply SUP_apply) +qed (auto intro!: pred_eqI) end @@ -143,7 +143,7 @@ lemma bind_bind: "(P \= Q) \= R = P \= (\x. Q x \= R)" - by (rule pred_eqI) (auto simp add: SUP_apply) + by (rule pred_eqI) auto lemma bind_single: "P \= single = P" @@ -163,7 +163,7 @@ lemma Sup_bind: "(\A \= f) = \((\x. x \= f) ` A)" - by (rule pred_eqI) (auto simp add: SUP_apply) + by (rule pred_eqI) auto lemma pred_iffI: assumes "\x. eval A x \ eval B x" diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Probability/Borel_Space.thy --- a/src/HOL/Probability/Borel_Space.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Probability/Borel_Space.thy Mon Mar 12 21:41:11 2012 +0100 @@ -1417,7 +1417,7 @@ proof fix a have "?sup -` {a<..} \ space M = (\i\A. {x\space M. a < f i x})" - by (auto simp: less_SUP_iff SUP_apply) + by (auto simp: less_SUP_iff) then show "?sup -` {a<..} \ space M \ sets M" using assms by auto qed @@ -1430,7 +1430,7 @@ proof fix a have "?inf -` {.. space M = (\i\A. {x\space M. f i x < a})" - by (auto simp: INF_less_iff INF_apply) + by (auto simp: INF_less_iff) then show "?inf -` {.. space M \ sets M" using assms by auto qed diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Probability/Lebesgue_Integration.thy --- a/src/HOL/Probability/Lebesgue_Integration.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Probability/Lebesgue_Integration.thy Mon Mar 12 21:41:11 2012 +0100 @@ -1044,7 +1044,7 @@ with `a < 1` u_range[OF `x \ space M`] have "a * u x < 1 * u x" by (intro ereal_mult_strict_right_mono) (auto simp: image_iff) - also have "\ \ (SUP i. f i x)" using u(2) by (auto simp: le_fun_def SUP_apply) + also have "\ \ (SUP i. f i x)" using u(2) by (auto simp: le_fun_def) finally obtain i where "a * u x < f i x" unfolding SUP_def by (auto simp add: less_Sup_iff) hence "a * u x \ f i x" by auto @@ -1115,7 +1115,7 @@ using f by (auto intro!: SUP_upper2) ultimately show "integral\<^isup>S M g \ (SUP j. integral\<^isup>P M (f j))" by (intro positive_integral_SUP_approx[OF f g _ g']) - (auto simp: le_fun_def max_def SUP_apply) + (auto simp: le_fun_def max_def) qed qed diff -r eec472dae593 -r 154dc6ec0041 src/HOL/Relation.thy --- a/src/HOL/Relation.thy Mon Mar 12 15:12:22 2012 +0100 +++ b/src/HOL/Relation.thy Mon Mar 12 21:41:11 2012 +0100 @@ -96,40 +96,40 @@ by (simp add: sup_fun_def) lemma Inf_INT_eq [pred_set_conv]: "\S = (\x. x \ INTER S Collect)" - by (simp add: fun_eq_iff Inf_apply) + by (simp add: fun_eq_iff) lemma INF_Int_eq [pred_set_conv]: "(\i\S. (\x. x \ i)) = (\x. x \ \S)" - by (simp add: fun_eq_iff INF_apply) + by (simp add: fun_eq_iff) lemma Inf_INT_eq2 [pred_set_conv]: "\S = (\x y. (x, y) \ INTER (prod_case ` S) Collect)" - by (simp add: fun_eq_iff Inf_apply INF_apply) + by (simp add: fun_eq_iff) lemma INF_Int_eq2 [pred_set_conv]: "(\i\S. (\x y. (x, y) \ i)) = (\x y. (x, y) \ \S)" - by (simp add: fun_eq_iff INF_apply) + by (simp add: fun_eq_iff) lemma Sup_SUP_eq [pred_set_conv]: "\S = (\x. x \ UNION S Collect)" - by (simp add: fun_eq_iff Sup_apply) + by (simp add: fun_eq_iff) lemma SUP_Sup_eq [pred_set_conv]: "(\i\S. (\x. x \ i)) = (\x. x \ \S)" - by (simp add: fun_eq_iff SUP_apply) + by (simp add: fun_eq_iff) lemma Sup_SUP_eq2 [pred_set_conv]: "\S = (\x y. (x, y) \ UNION (prod_case ` S) Collect)" - by (simp add: fun_eq_iff Sup_apply SUP_apply) + by (simp add: fun_eq_iff) lemma SUP_Sup_eq2 [pred_set_conv]: "(\i\S. (\x y. (x, y) \ i)) = (\x y. (x, y) \ \S)" - by (simp add: fun_eq_iff SUP_apply) + by (simp add: fun_eq_iff) lemma INF_INT_eq [pred_set_conv]: "(\i. (\x. x \ r i)) = (\x. x \ (\i. r i))" - by (simp add: INF_apply fun_eq_iff) + by (simp add: fun_eq_iff) lemma INF_INT_eq2 [pred_set_conv]: "(\i\S. (\x y. (x, y) \ r i)) = (\x y. (x, y) \ (\i\S. r i))" - by (simp add: INF_apply fun_eq_iff) + by (simp add: fun_eq_iff) lemma SUP_UN_eq [pred_set_conv]: "(\i. (\x. x \ r i)) = (\x. x \ (\i. r i))" - by (simp add: SUP_apply fun_eq_iff) + by (simp add: fun_eq_iff) lemma SUP_UN_eq2 [pred_set_conv]: "(\i\S. (\x y. (x, y) \ r i)) = (\x y. (x, y) \ (\i\S. r i))" - by (simp add: SUP_apply fun_eq_iff) + by (simp add: fun_eq_iff) @@ -818,7 +818,7 @@ by blast lemma Field_insert [simp]: "Field (insert (a, b) r) = {a, b} \ Field r" - by (auto simp add: Field_def Domain_insert Range_insert) + by (auto simp add: Field_def) lemma Domain_iff: "a \ Domain r \ (\y. (a, y) \ r)" by blast @@ -884,10 +884,10 @@ by auto lemma finite_Domain: "finite r \ finite (Domain r)" - by (induct set: finite) (auto simp add: Domain_insert) + by (induct set: finite) auto lemma finite_Range: "finite r \ finite (Range r)" - by (induct set: finite) (auto simp add: Range_insert) + by (induct set: finite) auto lemma finite_Field: "finite r \ finite (Field r)" by (simp add: Field_def finite_Domain finite_Range)