diff -r 2eade8651b93 -r 6b03a8cf092d src/HOL/Algebra/FiniteProduct.thy --- a/src/HOL/Algebra/FiniteProduct.thy Sun Mar 10 22:38:00 2019 +0100 +++ b/src/HOL/Algebra/FiniteProduct.thy Sun Mar 10 23:23:03 2019 +0100 @@ -517,9 +517,7 @@ using finprod_Suc[of f k] assms atMost_Suc lessThan_Suc_atMost by simp qed -(* The following two were contributed by Jeremy Avigad. *) - -lemma finprod_reindex: +lemma finprod_reindex: \<^marker>\contributor \Jeremy Avigad\\ "f \ (h ` A) \ carrier G \ inj_on h A \ finprod G f (h ` A) = finprod G (\x. f (h x)) A" proof (induct A rule: infinite_finite_induct) @@ -529,7 +527,7 @@ with \\ finite A\ show ?case by simp qed (auto simp add: Pi_def) -lemma finprod_const: +lemma finprod_const: \<^marker>\contributor \Jeremy Avigad\\ assumes a [simp]: "a \ carrier G" shows "finprod G (\x. a) A = a [^] card A" proof (induct A rule: infinite_finite_induct) @@ -541,9 +539,7 @@ qed auto qed auto -(* The following lemma was contributed by Jesus Aransay. *) - -lemma finprod_singleton: +lemma finprod_singleton: \<^marker>\contributor \Jesus Aransay\\ assumes i_in_A: "i \ A" and fin_A: "finite A" and f_Pi: "f \ A \ carrier G" shows "(\j\A. if i = j then f j else \) = f i" using i_in_A finprod_insert [of "A - {i}" i "(\j. if i = j then f j else \)"]