# HG changeset patch # User haftmann # Date 1330266528 -3600 # Node ID f559866a7aa280cfc03efdbb862f6bc53a9ae01d # Parent f4ce220d2799bffe92564c7d38e01a072a175372 marked candidates for rule declarations diff -r f4ce220d2799 -r f559866a7aa2 src/HOL/Complete_Lattices.thy --- a/src/HOL/Complete_Lattices.thy Sat Feb 25 15:33:36 2012 +0100 +++ b/src/HOL/Complete_Lattices.thy Sun Feb 26 15:28:48 2012 +0100 @@ -582,14 +582,14 @@ definition "\A = (\x. \f\A. f x)" -lemma Inf_apply [code]: +lemma Inf_apply (* CANDIDATE [simp] *) [code]: "(\A) x = (\f\A. f x)" by (simp add: Inf_fun_def) definition "\A = (\x. \f\A. f x)" -lemma Sup_apply [code]: +lemma Sup_apply (* CANDIDATE [simp] *) [code]: "(\A) x = (\f\A. f x)" by (simp add: Sup_fun_def) @@ -598,11 +598,11 @@ end -lemma INF_apply: +lemma INF_apply (* CANDIDATE [simp] *): "(\y\A. f y) x = (\y\A. f y x)" by (auto intro: arg_cong [of _ _ Inf] simp add: INF_def Inf_apply) -lemma SUP_apply: +lemma SUP_apply (* CANDIDATE [simp] *): "(\y\A. f y) x = (\y\A. f y x)" by (auto intro: arg_cong [of _ _ Sup] simp add: SUP_def Sup_apply) diff -r f4ce220d2799 -r f559866a7aa2 src/HOL/Lattices.thy --- a/src/HOL/Lattices.thy Sat Feb 25 15:33:36 2012 +0100 +++ b/src/HOL/Lattices.thy Sun Feb 26 15:28:48 2012 +0100 @@ -649,14 +649,14 @@ definition "f \ g = (\x. f x \ g x)" -lemma inf_apply: +lemma inf_apply (* CANDIDATE [simp, code] *): "(f \ g) x = f x \ g x" by (simp add: inf_fun_def) definition "f \ g = (\x. f x \ g x)" -lemma sup_apply: +lemma sup_apply (* CANDIDATE [simp, code] *): "(f \ g) x = f x \ g x" by (simp add: sup_fun_def) @@ -676,7 +676,7 @@ definition fun_Compl_def: "- A = (\x. - A x)" -lemma uminus_apply: +lemma uminus_apply (* CANDIDATE [simp, code] *): "(- A) x = - (A x)" by (simp add: fun_Compl_def) @@ -690,7 +690,7 @@ definition fun_diff_def: "A - B = (\x. A x - B x)" -lemma minus_apply: +lemma minus_apply (* CANDIDATE [simp, code] *): "(A - B) x = A x - B x" by (simp add: fun_diff_def) diff -r f4ce220d2799 -r f559866a7aa2 src/HOL/Orderings.thy --- a/src/HOL/Orderings.thy Sat Feb 25 15:33:36 2012 +0100 +++ b/src/HOL/Orderings.thy Sun Feb 26 15:28:48 2012 +0100 @@ -1299,7 +1299,7 @@ definition "\ = (\x. \)" -lemma bot_apply: +lemma bot_apply (* CANDIDATE [simp, code] *): "\ x = \" by (simp add: bot_fun_def) @@ -1315,7 +1315,7 @@ [no_atp]: "\ = (\x. \)" declare top_fun_def_raw [no_atp] -lemma top_apply: +lemma top_apply (* CANDIDATE [simp, code] *): "\ x = \" by (simp add: top_fun_def) diff -r f4ce220d2799 -r f559866a7aa2 src/HOL/Relation.thy --- a/src/HOL/Relation.thy Sat Feb 25 15:33:36 2012 +0100 +++ b/src/HOL/Relation.thy Sun Feb 26 15:28:48 2012 +0100 @@ -25,7 +25,9 @@ subsection {* Classical rules for reasoning on predicates *} +(* CANDIDATE declare predicate1I [Pure.intro!, intro!] *) declare predicate1D [Pure.dest?, dest?] +(* CANDIDATE declare predicate1D [Pure.dest, dest] *) declare predicate2I [Pure.intro!, intro!] declare predicate2D [Pure.dest, dest] declare bot1E [elim!] @@ -70,11 +72,17 @@ lemma pred_subset_eq2 [pred_set_conv]: "((\x y. (x, y) \ R) \ (\x y. (x, y) \ S)) \ (R \ S)" by (simp add: subset_iff le_fun_def) -lemma bot_empty_eq: "\ = (\x. x \ {})" +lemma bot_empty_eq (* CANDIDATE [pred_set_conv] *): "\ = (\x. x \ {})" + by (auto simp add: fun_eq_iff) + +lemma bot_empty_eq2 (* CANDIDATE [pred_set_conv] *): "\ = (\x y. (x, y) \ {})" by (auto simp add: fun_eq_iff) -lemma bot_empty_eq2: "\ = (\x y. (x, y) \ {})" - by (auto simp add: fun_eq_iff) +(* CANDIDATE lemma top_empty_eq [pred_set_conv]: "\ = (\x. x \ UNIV)" + by (auto simp add: fun_eq_iff) *) + +(* CANDIDATE lemma top_empty_eq2 [pred_set_conv]: "\ = (\x y. (x, y) \ UNIV)" + by (auto simp add: fun_eq_iff) *) lemma inf_Int_eq [pred_set_conv]: "(\x. x \ R) \ (\x. x \ S) = (\x. x \ R \ S)" by (simp add: inf_fun_def) @@ -88,10 +96,10 @@ lemma sup_Un_eq2 [pred_set_conv]: "(\x y. (x, y) \ R) \ (\x y. (x, y) \ S) = (\x y. (x, y) \ R \ S)" by (simp add: sup_fun_def) -lemma INF_INT_eq: "(\i. (\x. x \ r i)) = (\x. x \ (\i. r i))" +lemma INF_INT_eq (* CANDIDATE [pred_set_conv] *): "(\i. (\x. x \ r i)) = (\x. x \ (\i. r i))" by (simp add: INF_apply fun_eq_iff) -lemma INF_INT_eq2: "(\i. (\x y. (x, y) \ r i)) = (\x y. (x, y) \ (\i. r i))" +lemma INF_INT_eq2 (* CANDIDATE [pred_set_conv] *): "(\i. (\x y. (x, y) \ r i)) = (\x y. (x, y) \ (\i. r i))" by (simp add: INF_apply fun_eq_iff) lemma SUP_UN_eq [pred_set_conv]: "(\i. (\x. x \ r i)) = (\x. x \ (\i. r i))" @@ -946,3 +954,4 @@ "_SUP" :: "pttrn \ 'a set \ 'b \ 'b" ("(3\_\_./ _)" [0, 0, 10] 10) end +