# HG changeset patch # User paulson # Date 1497886948 -3600 # Node ID 571b698659c0b4ffd9817b18300d2118fd794aa4 # Parent 0e640e04fc567c83abc09884864c3c5dfd6a4c35 Repaired an inadvertent reordering of the premises of two theorems diff -r 0e640e04fc56 -r 571b698659c0 src/HOL/Analysis/Tagged_Division.thy --- a/src/HOL/Analysis/Tagged_Division.thy Mon Jun 19 16:07:47 2017 +0100 +++ b/src/HOL/Analysis/Tagged_Division.thy Mon Jun 19 16:42:28 2017 +0100 @@ -311,26 +311,26 @@ where "s division_of i \ finite s \ - (\k\s. k \ i \ k \ {} \ (\a b. k = cbox a b)) \ - (\k1\s. \k2\s. k1 \ k2 \ interior(k1) \ interior(k2) = {}) \ + (\K\s. K \ i \ K \ {} \ (\a b. K = cbox a b)) \ + (\K1\s. \K2\s. K1 \ K2 \ interior(K1) \ interior(K2) = {}) \ (\s = i)" lemma division_ofD[dest]: assumes "s division_of i" shows "finite s" - and "\k. k \ s \ k \ i" - and "\k. k \ s \ k \ {}" - and "\k. k \ s \ \a b. k = cbox a b" - and "\k1 k2. k1 \ s \ k2 \ s \ k1 \ k2 \ interior(k1) \ interior(k2) = {}" + and "\K. K \ s \ K \ i" + and "\K. K \ s \ K \ {}" + and "\K. K \ s \ \a b. K = cbox a b" + and "\K1 K2. K1 \ s \ K2 \ s \ K1 \ K2 \ interior(K1) \ interior(K2) = {}" and "\s = i" using assms unfolding division_of_def by auto lemma division_ofI: assumes "finite s" - and "\k. k \ s \ k \ i" - and "\k. k \ s \ k \ {}" - and "\k. k \ s \ \a b. k = cbox a b" - and "\k1 k2. k1 \ s \ k2 \ s \ k1 \ k2 \ interior k1 \ interior k2 = {}" + and "\K. K \ s \ K \ i" + and "\K. K \ s \ K \ {}" + and "\K. K \ s \ \a b. K = cbox a b" + and "\K1 K2. K1 \ s \ K2 \ s \ K1 \ K2 \ interior K1 \ interior K2 = {}" and "\s = i" shows "s division_of i" using assms unfolding division_of_def by auto @@ -350,9 +350,9 @@ proof assume ?r moreover - { fix k - assume "s = {{a}}" "k\s" - then have "\x y. k = cbox x y" + { fix K + assume "s = {{a}}" "K\s" + then have "\x y. K = cbox x y" apply (rule_tac x=a in exI)+ apply (force simp: cbox_sing) done @@ -1106,22 +1106,22 @@ definition tagged_partial_division_of (infixr "tagged'_partial'_division'_of" 40) where "s tagged_partial_division_of i \ finite s \ - (\x k. (x, k) \ s \ x \ k \ k \ i \ (\a b. k = cbox a b)) \ - (\x1 k1 x2 k2. (x1, k1) \ s \ (x2, k2) \ s \ (x1, k1) \ (x2, k2) \ - interior k1 \ interior k2 = {})" + (\x K. (x, K) \ s \ x \ K \ K \ i \ (\a b. K = cbox a b)) \ + (\x1 K1 x2 K2. (x1, K1) \ s \ (x2, K2) \ s \ (x1, K1) \ (x2, K2) \ + interior K1 \ interior K2 = {})" lemma tagged_partial_division_ofD[dest]: assumes "s tagged_partial_division_of i" shows "finite s" - and "\x k. (x,k) \ s \ x \ k" - and "\x k. (x,k) \ s \ k \ i" - and "\x k. (x,k) \ s \ \a b. k = cbox a b" - and "\x1 k1 x2 k2. (x1,k1) \ s \ - (x2, k2) \ s \ (x1, k1) \ (x2, k2) \ interior k1 \ interior k2 = {}" + and "\x K. (x,K) \ s \ x \ K" + and "\x K. (x,K) \ s \ K \ i" + and "\x K. (x,K) \ s \ \a b. K = cbox a b" + and "\x1 K1 x2 K2. (x1,K1) \ s \ + (x2, K2) \ s \ (x1, K1) \ (x2, K2) \ interior K1 \ interior K2 = {}" using assms unfolding tagged_partial_division_of_def by blast+ definition tagged_division_of (infixr "tagged'_division'_of" 40) - where "s tagged_division_of i \ s tagged_partial_division_of i \ (\{k. \x. (x,k) \ s} = i)" + where "s tagged_division_of i \ s tagged_partial_division_of i \ (\{K. \x. (x,K) \ s} = i)" lemma tagged_division_of_finite: "s tagged_division_of i \ finite s" unfolding tagged_division_of_def tagged_partial_division_of_def by auto @@ -1129,20 +1129,20 @@ lemma tagged_division_of: "s tagged_division_of i \ finite s \ - (\x k. (x, k) \ s \ x \ k \ k \ i \ (\a b. k = cbox a b)) \ - (\x1 k1 x2 k2. (x1, k1) \ s \ (x2, k2) \ s \ (x1, k1) \ (x2, k2) \ - interior k1 \ interior k2 = {}) \ - (\{k. \x. (x,k) \ s} = i)" + (\x K. (x, K) \ s \ x \ K \ K \ i \ (\a b. K = cbox a b)) \ + (\x1 K1 x2 K2. (x1, K1) \ s \ (x2, K2) \ s \ (x1, K1) \ (x2, K2) \ + interior K1 \ interior K2 = {}) \ + (\{K. \x. (x,K) \ s} = i)" unfolding tagged_division_of_def tagged_partial_division_of_def by auto lemma tagged_division_ofI: assumes "finite s" - and "\x k. (x,k) \ s \ x \ k" - and "\x k. (x,k) \ s \ k \ i" - and "\x k. (x,k) \ s \ \a b. k = cbox a b" - and "\x1 k1 x2 k2. (x1,k1) \ s \ (x2, k2) \ s \ (x1, k1) \ (x2, k2) \ - interior k1 \ interior k2 = {}" - and "(\{k. \x. (x,k) \ s} = i)" + and "\x K. (x,K) \ s \ x \ K" + and "\x K. (x,K) \ s \ K \ i" + and "\x K. (x,K) \ s \ \a b. K = cbox a b" + and "\x1 K1 x2 K2. (x1,K1) \ s \ (x2, K2) \ s \ (x1, K1) \ (x2, K2) \ + interior K1 \ interior K2 = {}" + and "(\{K. \x. (x,K) \ s} = i)" shows "s tagged_division_of i" unfolding tagged_division_of using assms @@ -1153,12 +1153,12 @@ lemma tagged_division_ofD[dest]: (*FIXME USE A LOCALE*) assumes "s tagged_division_of i" shows "finite s" - and "\x k. (x,k) \ s \ x \ k" - and "\x k. (x,k) \ s \ k \ i" - and "\x k. (x,k) \ s \ \a b. k = cbox a b" - and "\x1 k1 x2 k2. (x1, k1) \ s \ (x2, k2) \ s \ (x1, k1) \ (x2, k2) \ - interior k1 \ interior k2 = {}" - and "(\{k. \x. (x,k) \ s} = i)" + and "\x K. (x,K) \ s \ x \ K" + and "\x K. (x,K) \ s \ K \ i" + and "\x K. (x,K) \ s \ \a b. K = cbox a b" + and "\x1 K1 x2 K2. (x1, K1) \ s \ (x2, K2) \ s \ (x1, K1) \ (x2, K2) \ + interior K1 \ interior K2 = {}" + and "(\{K. \x. (x,K) \ s} = i)" using assms unfolding tagged_division_of by blast+ lemma division_of_tagged_division: @@ -1899,28 +1899,28 @@ lemma tagged_division_split_left_inj: assumes d: "d tagged_division_of i" - and "k1 \ k2" - and tags: "(x1, k1) \ d" "(x2, k2) \ d" - and eq: "k1 \ {x. x \ k \ c} = k2 \ {x. x \ k \ c}" - shows "interior (k1 \ {x. x\k \ c}) = {}" + and tags: "(x1, K1) \ d" "(x2, K2) \ d" + and "K1 \ K2" + and eq: "K1 \ {x. x \ k \ c} = K2 \ {x. x \ k \ c}" + shows "interior (K1 \ {x. x\k \ c}) = {}" proof - - have "interior (k1 \ k2) = {} \ (x2, k2) = (x1, k1)" + have "interior (K1 \ K2) = {} \ (x2, K2) = (x1, K1)" using tags d by (metis (no_types) interior_Int tagged_division_ofD(5)) then show ?thesis - using eq \k1 \ k2\ by (metis (no_types) inf_assoc inf_bot_left inf_left_idem interior_Int old.prod.inject) + using eq \K1 \ K2\ by (metis (no_types) inf_assoc inf_bot_left inf_left_idem interior_Int old.prod.inject) qed lemma tagged_division_split_right_inj: assumes d: "d tagged_division_of i" - and "k1 \ k2" - and tags: "(x1, k1) \ d" "(x2, k2) \ d" - and eq: "k1 \ {x. x\k \ c} = k2 \ {x. x\k \ c}" - shows "interior (k1 \ {x. x\k \ c}) = {}" + and tags: "(x1, K1) \ d" "(x2, K2) \ d" + and "K1 \ K2" + and eq: "K1 \ {x. x\k \ c} = K2 \ {x. x\k \ c}" + shows "interior (K1 \ {x. x\k \ c}) = {}" proof - - have "interior (k1 \ k2) = {} \ (x2, k2) = (x1, k1)" + have "interior (K1 \ K2) = {} \ (x2, K2) = (x1, K1)" using tags d by (metis (no_types) interior_Int tagged_division_ofD(5)) then show ?thesis - using eq \k1 \ k2\ by (metis (no_types) inf_assoc inf_bot_left inf_left_idem interior_Int old.prod.inject) + using eq \K1 \ K2\ by (metis (no_types) inf_assoc inf_bot_left inf_left_idem interior_Int old.prod.inject) qed subsection \Special case of additivity we need for the FTC.\