# HG changeset patch # User huffman # Date 1244741822 25200 # Node ID d2abf6f6f619b087e98096cd147259adff4ae783 # Parent ded2364d14d4287beb59f386e7a6cbb8f0e0f80a subsection for real instances; new lemmas for open sets of reals diff -r ded2364d14d4 -r d2abf6f6f619 src/HOL/RealVector.thy --- a/src/HOL/RealVector.thy Thu Jun 11 09:03:24 2009 -0700 +++ b/src/HOL/RealVector.thy Thu Jun 11 10:37:02 2009 -0700 @@ -592,32 +592,6 @@ thus "norm (1::'a) = 1" by simp qed -instantiation real :: real_normed_field -begin - -definition real_norm_def [simp]: - "norm r = \r\" - -definition dist_real_def: - "dist x y = \x - y\" - -definition open_real_def [code del]: - "open (S :: real set) \ (\x\S. \e>0. \y. dist y x < e \ y \ S)" - -instance -apply (intro_classes, unfold real_norm_def real_scaleR_def) -apply (rule dist_real_def) -apply (rule open_real_def) -apply (simp add: real_sgn_def) -apply (rule abs_ge_zero) -apply (rule abs_eq_0) -apply (rule abs_triangle_ineq) -apply (rule abs_mult) -apply (rule abs_mult) -done - -end - lemma norm_zero [simp]: "norm (0::'a::real_normed_vector) = 0" by simp @@ -797,6 +771,61 @@ using norm_triangle_ineq4 [of "x - z" "y - z"] by simp qed + +subsection {* Class instances for real numbers *} + +instantiation real :: real_normed_field +begin + +definition real_norm_def [simp]: + "norm r = \r\" + +definition dist_real_def: + "dist x y = \x - y\" + +definition open_real_def [code del]: + "open (S :: real set) \ (\x\S. \e>0. \y. dist y x < e \ y \ S)" + +instance +apply (intro_classes, unfold real_norm_def real_scaleR_def) +apply (rule dist_real_def) +apply (rule open_real_def) +apply (simp add: real_sgn_def) +apply (rule abs_ge_zero) +apply (rule abs_eq_0) +apply (rule abs_triangle_ineq) +apply (rule abs_mult) +apply (rule abs_mult) +done + +end + +lemma open_real_lessThan [simp]: + fixes a :: real shows "open {.. (\y. \y - x\ < a - x \ y \ {..e>0. \y. \y - x\ < e \ y \ {.. (\y. \y - x\ < x - a \ y \ {a<..})" by auto + thus "\e>0. \y. \y - x\ < e \ y \ {a<..}" .. +qed + +lemma open_real_greaterThanLessThan [simp]: + fixes a b :: real shows "open {a<.. {..