equal
deleted
inserted
replaced
3239 by force |
3239 by force |
3240 show ?case |
3240 show ?case |
3241 apply (subst pr_def) |
3241 apply (subst pr_def) |
3242 apply (simp add: chain_boundary_sum chain_boundary_cmul) |
3242 apply (simp add: chain_boundary_sum chain_boundary_cmul) |
3243 apply (subst chain_boundary_def) |
3243 apply (subst chain_boundary_def) |
|
3244 apply simp |
3244 apply (simp add: frag_cmul_sum sum.cartesian_product eq sum.union_disjoint disjoint_iff_not_equal |
3245 apply (simp add: frag_cmul_sum sum.cartesian_product eq sum.union_disjoint disjoint_iff_not_equal |
3245 sum.atLeast_Suc_atMost_Suc_shift del: sum.cl_ivl_Suc flip: comm_monoid_add_class.sum.Sigma) |
3246 sum.atLeast_Suc_atMost_Suc_shift del: sum.cl_ivl_Suc min.absorb2 min.absorb4 |
3246 apply (simp add: comm_monoid_add_class.sum.Sigma eq2 [of _ "\<lambda>i. {_ i.._ i}"]) |
3247 flip: comm_monoid_add_class.sum.Sigma) |
|
3248 apply (simp add: sum.Sigma eq2 [of _ "\<lambda>i. {_ i.._ i}"] |
|
3249 del: min.absorb2 min.absorb4) |
3247 apply (simp add: sum.union_disjoint disjoint_iff_not_equal * [OF 1 2]) |
3250 apply (simp add: sum.union_disjoint disjoint_iff_not_equal * [OF 1 2]) |
3248 done |
3251 done |
3249 next |
3252 next |
3250 case (diff a b) |
3253 case (diff a b) |
3251 then show ?case |
3254 then show ?case |