equal
deleted
inserted
replaced
140 apply (subst BnorRset.simps) |
140 apply (subst BnorRset.simps) |
141 apply (unfold Let_def) |
141 apply (unfold Let_def) |
142 apply auto |
142 apply auto |
143 done |
143 done |
144 |
144 |
145 lemma aux: "a \<le> b - 1 ==> a < (b::int)" |
145 lemma norR_mem_unique_aux: "a \<le> b - 1 ==> a < (b::int)" |
146 apply auto |
146 apply auto |
147 done |
147 done |
148 |
148 |
149 lemma norR_mem_unique: |
149 lemma norR_mem_unique: |
150 "1 < m ==> |
150 "1 < m ==> |
152 apply (unfold norRRset_def) |
152 apply (unfold norRRset_def) |
153 apply (cut_tac a = a and m = m in zcong_zless_unique) |
153 apply (cut_tac a = a and m = m in zcong_zless_unique) |
154 apply auto |
154 apply auto |
155 apply (rule_tac [2] m = m in zcong_zless_imp_eq) |
155 apply (rule_tac [2] m = m in zcong_zless_imp_eq) |
156 apply (auto intro: Bnor_mem_zle Bnor_mem_zg zcong_trans |
156 apply (auto intro: Bnor_mem_zle Bnor_mem_zg zcong_trans |
157 order_less_imp_le aux simp add: zcong_sym) |
157 order_less_imp_le norR_mem_unique_aux simp add: zcong_sym) |
158 apply (rule_tac "x" = "b" in exI) |
158 apply (rule_tac "x" = "b" in exI) |
159 apply safe |
159 apply safe |
160 apply (rule Bnor_mem_if) |
160 apply (rule Bnor_mem_if) |
161 apply (case_tac [2] "b = 0") |
161 apply (case_tac [2] "b = 0") |
162 apply (auto intro: order_less_le [THEN iffD2]) |
162 apply (auto intro: order_less_le [THEN iffD2]) |
278 apply (unfold is_RRset_def phi_def norRRset_def) |
278 apply (unfold is_RRset_def phi_def norRRset_def) |
279 apply (auto simp add: RsetR_fin Bnor_fin) |
279 apply (auto simp add: RsetR_fin Bnor_fin) |
280 done |
280 done |
281 |
281 |
282 |
282 |
283 lemma aux: "a \<notin> A ==> inj f ==> f a \<notin> f ` A" |
283 lemma Bnor_prod_power_aux: "a \<notin> A ==> inj f ==> f a \<notin> f ` A" |
284 apply (unfold inj_on_def) |
284 apply (unfold inj_on_def) |
285 apply auto |
285 apply auto |
286 done |
286 done |
287 |
287 |
288 lemma Bnor_prod_power [rule_format]: |
288 lemma Bnor_prod_power [rule_format]: |
293 apply (subst BnorRset.simps) |
293 apply (subst BnorRset.simps) |
294 apply (unfold Let_def) |
294 apply (unfold Let_def) |
295 apply auto |
295 apply auto |
296 apply (simp add: Bnor_fin Bnor_mem_zle_swap) |
296 apply (simp add: Bnor_fin Bnor_mem_zle_swap) |
297 apply (subst setprod_insert) |
297 apply (subst setprod_insert) |
298 apply (rule_tac [2] aux) |
298 apply (rule_tac [2] Bnor_prod_power_aux) |
299 apply (unfold inj_on_def) |
299 apply (unfold inj_on_def) |
300 apply (simp_all add: zmult_ac Bnor_fin finite_imageI |
300 apply (simp_all add: zmult_ac Bnor_fin finite_imageI |
301 Bnor_mem_zle_swap) |
301 Bnor_mem_zle_swap) |
302 done |
302 done |
303 |
303 |