equal
deleted
inserted
replaced
94 lemma partition_rhs2: "[|partition(a,b) D; psize D \<le> n |] ==> (D n = b)" |
94 lemma partition_rhs2: "[|partition(a,b) D; psize D \<le> n |] ==> (D n = b)" |
95 by (simp add: partition) |
95 by (simp add: partition) |
96 |
96 |
97 lemma lemma_partition_lt_gen [rule_format]: |
97 lemma lemma_partition_lt_gen [rule_format]: |
98 "partition(a,b) D & m + Suc d \<le> n & n \<le> (psize D) --> D(m) < D(m + Suc d)" |
98 "partition(a,b) D & m + Suc d \<le> n & n \<le> (psize D) --> D(m) < D(m + Suc d)" |
99 apply (induct_tac "d", auto simp add: partition) |
99 apply (induct "d", auto simp add: partition) |
100 apply (blast dest: Suc_le_lessD intro: less_le_trans order_less_trans) |
100 apply (blast dest: Suc_le_lessD intro: less_le_trans order_less_trans) |
101 done |
101 done |
102 |
102 |
103 lemma less_eq_add_Suc: "m < n ==> \<exists>d. n = m + Suc d" |
103 lemma less_eq_add_Suc: "m < n ==> \<exists>d. n = m + Suc d" |
104 by (auto simp add: less_iff_Suc_add) |
104 by (auto simp add: less_iff_Suc_add) |
131 apply auto |
131 apply auto |
132 done |
132 done |
133 |
133 |
134 lemma partition_lb: "partition(a,b) D ==> a \<le> D(r)" |
134 lemma partition_lb: "partition(a,b) D ==> a \<le> D(r)" |
135 apply (frule partition [THEN iffD1], safe) |
135 apply (frule partition [THEN iffD1], safe) |
136 apply (induct_tac "r") |
136 apply (induct "r") |
137 apply (cut_tac [2] y = "Suc n" and x = "psize D" in linorder_le_less_linear, safe) |
137 apply (cut_tac [2] y = "Suc r" and x = "psize D" in linorder_le_less_linear) |
138 apply (blast intro: order_trans partition_le) |
138 apply (auto intro: partition_le) |
139 apply (drule_tac x = n in spec) |
139 apply (drule_tac x = r in spec) |
140 apply (best intro: order_less_trans order_trans order_less_imp_le) |
140 apply arith; |
141 done |
141 done |
142 |
142 |
143 lemma partition_lb_lt: "[| partition(a,b) D; psize D ~= 0 |] ==> a < D(Suc n)" |
143 lemma partition_lb_lt: "[| partition(a,b) D; psize D ~= 0 |] ==> a < D(Suc n)" |
144 apply (rule_tac t = a in partition_lhs [THEN subst], assumption) |
144 apply (rule_tac t = a in partition_lhs [THEN subst], assumption) |
145 apply (cut_tac x = "Suc n" and y = "psize D" in linorder_le_less_linear) |
145 apply (cut_tac x = "Suc n" and y = "psize D" in linorder_le_less_linear) |
330 apply (auto dest: partition_eq simp add: gauge_def tpart_def rsum_def) |
330 apply (auto dest: partition_eq simp add: gauge_def tpart_def rsum_def) |
331 done |
331 done |
332 |
332 |
333 lemma sumr_partition_eq_diff_bounds [simp]: |
333 lemma sumr_partition_eq_diff_bounds [simp]: |
334 "sumr 0 m (%n. D (Suc n) - D n) = D(m) - D 0" |
334 "sumr 0 m (%n. D (Suc n) - D n) = D(m) - D 0" |
335 by (induct_tac "m", auto) |
335 by (induct "m", auto) |
336 |
336 |
337 lemma Integral_eq_diff_bounds: "a \<le> b ==> Integral(a,b) (%x. 1) (b - a)" |
337 lemma Integral_eq_diff_bounds: "a \<le> b ==> Integral(a,b) (%x. 1) (b - a)" |
338 apply (auto simp add: order_le_less rsum_def Integral_def) |
338 apply (auto simp add: order_le_less rsum_def Integral_def) |
339 apply (rule_tac x = "%x. b - a" in exI) |
339 apply (rule_tac x = "%x. b - a" in exI) |
340 apply (auto simp add: gauge_def abs_interval_iff tpart_def partition) |
340 apply (auto simp add: gauge_def abs_interval_iff tpart_def partition) |