# HG changeset patch # User haftmann # Date 1311017641 -7200 # Node ID 60ef6abb2f928c1cbbbe86e078b7f2630fa5681a # Parent 935359fd8210c5d418a1b66981fff0ea76cbc04e avoid misunderstandable names diff -r 935359fd8210 -r 60ef6abb2f92 NEWS --- a/NEWS Mon Jul 18 21:15:51 2011 +0200 +++ b/NEWS Mon Jul 18 21:34:01 2011 +0200 @@ -71,6 +71,7 @@ le_SUPI ~> le_SUP_I le_SUPI2 ~> le_SUP_I2 le_INFI ~> le_INF_I + INF_subset ~> INF_superset_mono INFI_bool_eq ~> INF_bool_eq SUPR_bool_eq ~> SUP_bool_eq INFI_apply ~> INF_apply diff -r 935359fd8210 -r 60ef6abb2f92 src/HOL/Complete_Lattice.thy --- a/src/HOL/Complete_Lattice.thy Mon Jul 18 21:15:51 2011 +0200 +++ b/src/HOL/Complete_Lattice.thy Mon Jul 18 21:34:01 2011 +0200 @@ -88,6 +88,12 @@ lemma Sup_le_iff: "\A \ b \ (\a\A. a \ b)" by (auto intro: Sup_least dest: Sup_upper) +lemma Inf_superset_mono: "B \ A \ \A \ \B" + by (auto intro: Inf_greatest Inf_lower) + +lemma Sup_subset_mono: "A \ B \ \A \ \B" + by (auto intro: Sup_least Sup_upper) + lemma Inf_mono: assumes "\b. b \ B \ \a\A. a \ b" shows "\A \ \B" @@ -134,10 +140,10 @@ ultimately show ?thesis by (rule Sup_upper2) qed -lemma Inf_inter_less_eq: "\A \ \B \ \(A \ B)" +lemma less_eq_Inf_inter: "\A \ \B \ \(A \ B)" by (auto intro: Inf_greatest Inf_lower) -lemma Sup_inter_greater_eq: "\(A \ B) \ \A \ \B " +lemma Sup_inter_less_eq: "\(A \ B) \ \A \ \B " by (auto intro: Sup_least Sup_upper) lemma Inf_union_distrib: "\(A \ B) = \A \ \B" @@ -177,12 +183,6 @@ from dual.Inf_top_conv show ?P and ?Q by simp_all qed -lemma Inf_anti_mono: "B \ A \ \A \ \B" - by (auto intro: Inf_greatest Inf_lower) - -lemma Sup_anti_mono: "A \ B \ \A \ \B" - by (auto intro: Sup_least Sup_upper) - definition INFI :: "'b set \ ('b \ 'a) \ 'a" where INF_def: "INFI A f = \ (f ` A)" @@ -285,13 +285,13 @@ "(\n. n \ A \ \m\B. f n \ g m) \ (\n\A. f n) \ (\n\B. g n)" by (force intro!: Sup_mono simp: SUP_def) -lemma INF_subset: - "A \ B \ INFI B f \ INFI A f" - by (intro INF_mono) auto +lemma INF_superset_mono: + "B \ A \ INFI A f \ INFI B f" + by (rule INF_mono) auto -lemma SUP_subset: +lemma SUPO_subset_mono: "A \ B \ SUPR A f \ SUPR B f" - by (intro SUP_mono) auto + by (rule SUP_mono) auto lemma INF_commute: "(\i\A. \j\B. f i j) = (\j\B. \i\A. f i j)" by (iprover intro: INF_leI le_INF_I order_trans antisym) @@ -365,13 +365,13 @@ "(\b. A b) = A True \ A False" by (simp add: UNIV_bool SUP_empty SUP_insert sup_commute) -lemma INF_anti_mono: +lemma INF_mono': "B \ A \ (\x. x \ A \ f x \ g x) \ (\x\B. f x) \ (\x\B. g x)" -- {* The last inclusion is POSITIVE! *} - by (blast intro: INF_mono dest: subsetD) + by (rule INF_mono) auto -lemma SUP_anti_mono: - "B \ A \ (\x. x \ A \ g x \ f x) \ (\x\B. g x) \ (\x\B. f x)" +lemma SUP_mono': + "B \ A \ (\x. x \ A \ f x \ g x) \ (\x\B. f x) \ (\x\B. g x)" -- {* The last inclusion is POSITIVE! *} by (blast intro: SUP_mono dest: subsetD) @@ -554,7 +554,7 @@ by (fact Inf_insert) lemma Inter_Un_subset: "\A \ \B \ \(A \ B)" - by (fact Inf_inter_less_eq) + by (fact less_eq_Inf_inter) lemma Inter_Un_distrib: "\(A \ B) = \A \ \B" by (fact Inf_union_distrib) @@ -565,7 +565,7 @@ by (fact Inf_top_conv)+ lemma Inter_anti_mono: "B \ A \ \A \ \B" - by (fact Inf_anti_mono) + by (fact Inf_superset_mono) subsection {* Intersections of families *} @@ -682,7 +682,7 @@ lemma INT_anti_mono: "B \ A \ (\x. x \ A \ f x \ g x) \ (\x\B. f x) \ (\x\B. g x)" -- {* The last inclusion is POSITIVE! *} - by (fact INF_anti_mono) + by (fact INF_mono') lemma Pow_INT_eq: "Pow (\x\A. B x) = (\x\A. Pow (B x))" by blast @@ -1077,6 +1077,7 @@ lemmas (in complete_lattice) le_SUPI = le_SUP_I lemmas (in complete_lattice) le_SUPI2 = le_SUP_I2 lemmas (in complete_lattice) le_INFI = le_INF_I +lemmas (in complete_lattice) INF_subset = INF_superset_mono lemmas INFI_apply = INF_apply lemmas SUPR_apply = SUP_apply