diff -r e1bd8a54c40f -r d7728f65b353 src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy --- a/src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy Mon Sep 13 08:43:48 2010 +0200 +++ b/src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy Mon Sep 13 11:13:15 2010 +0200 @@ -880,7 +880,7 @@ by (simp add: row_def column_def transpose_def Cart_eq) lemma rows_transpose: "rows(transpose (A::'a::semiring_1^_^_)) = columns A" -by (auto simp add: rows_def columns_def row_transpose intro: set_ext) +by (auto simp add: rows_def columns_def row_transpose intro: set_eqI) lemma columns_transpose: "columns(transpose (A::'a::semiring_1^_^_)) = rows A" by (metis transpose_transpose rows_transpose) @@ -986,7 +986,7 @@ subsection {* Standard bases are a spanning set, and obviously finite. *} lemma span_stdbasis:"span {cart_basis i :: real^'n | i. i \ (UNIV :: 'n set)} = UNIV" -apply (rule set_ext) +apply (rule set_eqI) apply auto apply (subst basis_expansion'[symmetric]) apply (rule span_setsum) @@ -1440,12 +1440,12 @@ lemma interval_cart: fixes a :: "'a::ord^'n" shows "{a <..< b} = {x::'a^'n. \i. a$i < x$i \ x$i < b$i}" and "{a .. b} = {x::'a^'n. \i. a$i \ x$i \ x$i \ b$i}" - by (auto simp add: set_ext_iff vector_less_def vector_le_def) + by (auto simp add: set_eq_iff vector_less_def vector_le_def) lemma mem_interval_cart: fixes a :: "'a::ord^'n" shows "x \ {a<.. (\i. a$i < x$i \ x$i < b$i)" "x \ {a .. b} \ (\i. a$i \ x$i \ x$i \ b$i)" - using interval_cart[of a b] by(auto simp add: set_ext_iff vector_less_def vector_le_def) + using interval_cart[of a b] by(auto simp add: set_eq_iff vector_less_def vector_le_def) lemma interval_eq_empty_cart: fixes a :: "real^'n" shows "({a <..< b} = {} \ (\i. b$i \ a$i))" (is ?th1) and @@ -1498,7 +1498,7 @@ lemma interval_sing: fixes a :: "'a::linorder^'n" shows "{a .. a} = {a} \ {a<.. x $ i" using x order_less_imp_le[of "a$i" "x$i"] - by(simp add: set_ext_iff vector_less_def vector_le_def Cart_eq) + by(simp add: set_eq_iff vector_less_def vector_le_def Cart_eq) } moreover { fix i have "x $ i \ b $ i" using x order_less_imp_le[of "x$i" "b$i"] - by(simp add: set_ext_iff vector_less_def vector_le_def Cart_eq) + by(simp add: set_eq_iff vector_less_def vector_le_def Cart_eq) } ultimately show "a \ x \ x \ b" - by(simp add: set_ext_iff vector_less_def vector_le_def Cart_eq) + by(simp add: set_eq_iff vector_less_def vector_le_def Cart_eq) qed lemma subset_interval_cart: fixes a :: "real^'n" shows @@ -1540,7 +1540,7 @@ lemma inter_interval_cart: fixes a :: "'a::linorder^'n" shows "{a .. b} \ {c .. d} = {(\ i. max (a$i) (c$i)) .. (\ i. min (b$i) (d$i))}" - unfolding set_ext_iff and Int_iff and mem_interval_cart + unfolding set_eq_iff and Int_iff and mem_interval_cart by auto lemma closed_interval_left_cart: fixes b::"real^'n" @@ -1656,7 +1656,7 @@ shows "(\x. m *s x + c) o (\x. inverse(m) *s x + (-(inverse(m) *s c))) = id" "(\x. inverse(m) *s x + (-(inverse(m) *s c))) o (\x. m *s x + c) = id" using m0 -apply (auto simp add: ext_iff vector_add_ldistrib) +apply (auto simp add: fun_eq_iff vector_add_ldistrib) by (simp_all add: vector_smult_lneg[symmetric] vector_smult_assoc vector_sneg_minus1[symmetric]) lemma vector_affinity_eq: @@ -1712,7 +1712,7 @@ lemma unit_interval_convex_hull_cart: "{0::real^'n .. 1} = convex hull {x. \i. (x$i = 0) \ (x$i = 1)}" (is "?int = convex hull ?points") unfolding Cart_1 unit_interval_convex_hull[where 'a="real^'n"] - apply(rule arg_cong[where f="\x. convex hull x"]) apply(rule set_ext) unfolding mem_Collect_eq + apply(rule arg_cong[where f="\x. convex hull x"]) apply(rule set_eqI) unfolding mem_Collect_eq apply safe apply(erule_tac x="\' i" in allE) unfolding nth_conv_component defer apply(erule_tac x="\ i" in allE) by auto @@ -1974,7 +1974,7 @@ apply (simp add: forall_3) done -lemma range_vec1[simp]:"range vec1 = UNIV" apply(rule set_ext,rule) unfolding image_iff defer +lemma range_vec1[simp]:"range vec1 = UNIV" apply(rule set_eqI,rule) unfolding image_iff defer apply(rule_tac x="dest_vec1 x" in bexI) by auto lemma dest_vec1_lambda: "dest_vec1(\ i. x i) = x 1" @@ -2069,7 +2069,7 @@ lemma vec1_interval:fixes a::"real" shows "vec1 ` {a .. b} = {vec1 a .. vec1 b}" "vec1 ` {a<.. dest_vec1 b ==> {a .. b} = {a<.. {a,b}" - unfolding set_ext_iff apply simp unfolding vector_less_def and vector_le_def and forall_1 and dest_vec1_eq[THEN sym] by(auto simp del:dest_vec1_eq) + unfolding set_eq_iff apply simp unfolding vector_less_def and vector_le_def and forall_1 and dest_vec1_eq[THEN sym] by(auto simp del:dest_vec1_eq) lemma Lim_drop_le: fixes f :: "'a \ real^1" shows "(f ---> l) net \ ~(trivial_limit net) \ eventually (\x. dest_vec1 (f x) \ b) net ==> dest_vec1 l \ b" @@ -2284,7 +2284,7 @@ lemma interval_split_cart: "{a..b::real^'n} \ {x. x$k \ c} = {a .. (\ i. if i = k then min (b$k) c else b$i)}" "{a..b} \ {x. x$k \ c} = {(\ i. if i = k then max (a$k) c else a$i) .. b}" - apply(rule_tac[!] set_ext) unfolding Int_iff mem_interval_cart mem_Collect_eq + apply(rule_tac[!] set_eqI) unfolding Int_iff mem_interval_cart mem_Collect_eq unfolding Cart_lambda_beta by auto (*lemma content_split_cart: