# HG changeset patch # User nipkow # Date 1116839201 -7200 # Node ID 5a8736668cedf3d67bcb4aa47993debbfd7add1e # Parent 6e7616eba0b8be4e032ff20966df5e9bce76a09e simplifier trace info; Suc-intervals diff -r 6e7616eba0b8 -r 5a8736668ced src/HOL/Matrix/SparseMatrix.thy --- a/src/HOL/Matrix/SparseMatrix.thy Mon May 23 10:49:25 2005 +0200 +++ b/src/HOL/Matrix/SparseMatrix.thy Mon May 23 11:06:41 2005 +0200 @@ -595,7 +595,7 @@ disj_matrices :: "('a::zero) matrix \ 'a matrix \ bool" "disj_matrices A B == (! j i. (Rep_matrix A j i \ 0) \ (Rep_matrix B j i = 0)) & (! j i. (Rep_matrix B j i \ 0) \ (Rep_matrix A j i = 0))" -ML {* simp_depth_limit := 2 *} +ML {* simp_depth_limit := 6 *} lemma disj_matrices_contr1: "disj_matrices A B \ Rep_matrix A j i \ 0 \ Rep_matrix B j i = 0" by (simp add: disj_matrices_def) diff -r 6e7616eba0b8 -r 5a8736668ced src/HOL/SetInterval.thy --- a/src/HOL/SetInterval.thy Mon May 23 10:49:25 2005 +0200 +++ b/src/HOL/SetInterval.thy Mon May 23 11:06:41 2005 +0200 @@ -266,10 +266,10 @@ of @{term atLeastLessThan}*} lemma atLeast0LessThan: "{0::nat..i < Suc n. b i) = b n + (\i < n. b i)" -by (simp add:lessThan_Suc) -*) +(* FIXME why are the following simp rules but the corresponding eqns +on intervals are not? *) + +lemma setsum_lessThan_Suc[simp]: "(\i < Suc n. f i) = (\i < n. f i) + f n" +by (simp add:lessThan_Suc add_ac) lemma setsum_cl_ivl_Suc[simp]: "setsum f {m..Suc n} = (if Suc n < m then 0 else setsum f {m..n} + f(Suc n))" @@ -624,11 +625,11 @@ lemma setsum_op_ivl_Suc[simp]: "setsum f {m.. (\i=n..m+1. f i) = (\i=n..m. f i) + f(m + 1)" by (auto simp:add_ac atLeastAtMostSuc_conv) - +*) lemma setsum_add_nat_ivl: "\ m \ n; n \ p \ \ setsum f {m..