equal
deleted
inserted
replaced
132 ORELSE rtac @{thm setsum_0'} i |
132 ORELSE rtac @{thm setsum_0'} i |
133 ORELSE simp_tac (HOL_basic_ss addsimps [@{thm "Cart_eq"}]) i) |
133 ORELSE simp_tac (HOL_basic_ss addsimps [@{thm "Cart_eq"}]) i) |
134 (* THEN' TRY o clarify_tac HOL_cs THEN' (TRY o rtac @{thm iffI}) *) |
134 (* THEN' TRY o clarify_tac HOL_cs THEN' (TRY o rtac @{thm iffI}) *) |
135 THEN' asm_full_simp_tac (ss2 addsimps ths) |
135 THEN' asm_full_simp_tac (ss2 addsimps ths) |
136 in |
136 in |
137 Method.thms_args (Method.SIMPLE_METHOD' o vector_arith_tac) |
137 Method.thms_args (SIMPLE_METHOD' o vector_arith_tac) |
138 end |
138 end |
139 *} "Lifts trivial vector statements to real arith statements" |
139 *} "Lifts trivial vector statements to real arith statements" |
140 |
140 |
141 lemma vec_0[simp]: "vec 0 = 0" by (vector vector_zero_def) |
141 lemma vec_0[simp]: "vec 0 = 0" by (vector vector_zero_def) |
142 lemma vec_1[simp]: "vec 1 = 1" by (vector vector_one_def) |
142 lemma vec_1[simp]: "vec 1 = 1" by (vector vector_one_def) |
946 "x \<noteq> y \<longleftrightarrow> \<not> (norm (x - y) \<le> 0)" |
946 "x \<noteq> y \<longleftrightarrow> \<not> (norm (x - y) \<le> 0)" |
947 using norm_ge_zero[of "x - y"] by auto |
947 using norm_ge_zero[of "x - y"] by auto |
948 |
948 |
949 use "normarith.ML" |
949 use "normarith.ML" |
950 |
950 |
951 method_setup norm = {* Method.ctxt_args (Method.SIMPLE_METHOD' o NormArith.norm_arith_tac) |
951 method_setup norm = {* Method.ctxt_args (SIMPLE_METHOD' o NormArith.norm_arith_tac) |
952 *} "Proves simple linear statements about vector norms" |
952 *} "Proves simple linear statements about vector norms" |
953 |
953 |
954 |
954 |
955 |
955 |
956 text{* Hence more metric properties. *} |
956 text{* Hence more metric properties. *} |