equal
deleted
inserted
replaced
500 with \<open>\<not> finite A\<close> show ?case by simp |
500 with \<open>\<not> finite A\<close> show ?case by simp |
501 qed (auto simp add: Pi_def) |
501 qed (auto simp add: Pi_def) |
502 |
502 |
503 lemma finprod_const: |
503 lemma finprod_const: |
504 assumes a [simp]: "a : carrier G" |
504 assumes a [simp]: "a : carrier G" |
505 shows "finprod G (%x. a) A = a (^) card A" |
505 shows "finprod G (%x. a) A = a [^] card A" |
506 proof (induct A rule: infinite_finite_induct) |
506 proof (induct A rule: infinite_finite_induct) |
507 case (insert b A) |
507 case (insert b A) |
508 show ?case |
508 show ?case |
509 proof (subst finprod_insert[OF insert(1-2)]) |
509 proof (subst finprod_insert[OF insert(1-2)]) |
510 show "a \<otimes> (\<Otimes>x\<in>A. a) = a (^) card (insert b A)" |
510 show "a \<otimes> (\<Otimes>x\<in>A. a) = a [^] card (insert b A)" |
511 by (insert insert, auto, subst m_comm, auto) |
511 by (insert insert, auto, subst m_comm, auto) |
512 qed auto |
512 qed auto |
513 qed auto |
513 qed auto |
514 |
514 |
515 (* The following lemma was contributed by Jesus Aransay. *) |
515 (* The following lemma was contributed by Jesus Aransay. *) |