equal
deleted
inserted
replaced
1156 lemma (in field) setprod_diff1: |
1156 lemma (in field) setprod_diff1: |
1157 "finite A \<Longrightarrow> f a \<noteq> 0 \<Longrightarrow> |
1157 "finite A \<Longrightarrow> f a \<noteq> 0 \<Longrightarrow> |
1158 (setprod f (A - {a})) = (if a \<in> A then setprod f A / f a else setprod f A)" |
1158 (setprod f (A - {a})) = (if a \<in> A then setprod f A / f a else setprod f A)" |
1159 by (induct A rule: finite_induct) (auto simp add: insert_Diff_if) |
1159 by (induct A rule: finite_induct) (auto simp add: insert_Diff_if) |
1160 |
1160 |
1161 lemma (in field_inverse_zero) setprod_inversef: |
1161 lemma (in field) setprod_inversef: |
1162 "finite A \<Longrightarrow> setprod (inverse \<circ> f) A = inverse (setprod f A)" |
1162 "finite A \<Longrightarrow> setprod (inverse \<circ> f) A = inverse (setprod f A)" |
1163 by (induct A rule: finite_induct) simp_all |
1163 by (induct A rule: finite_induct) simp_all |
1164 |
1164 |
1165 lemma (in field_inverse_zero) setprod_dividef: |
1165 lemma (in field) setprod_dividef: |
1166 "finite A \<Longrightarrow> (\<Prod>x\<in>A. f x / g x) = setprod f A / setprod g A" |
1166 "finite A \<Longrightarrow> (\<Prod>x\<in>A. f x / g x) = setprod f A / setprod g A" |
1167 using setprod_inversef [of A g] by (simp add: divide_inverse setprod.distrib) |
1167 using setprod_inversef [of A g] by (simp add: divide_inverse setprod.distrib) |
1168 |
1168 |
1169 lemma setprod_Un: |
1169 lemma setprod_Un: |
1170 fixes f :: "'b \<Rightarrow> 'a :: field" |
1170 fixes f :: "'b \<Rightarrow> 'a :: field" |