Commit 19b047d6 by haftmann

### collecting more lemmas concerning multisets

parent f8e89e956d62
 ... ... @@ -226,18 +226,29 @@ lemma poly_x_minus_y_as_comp: "poly_x_minus_y = (\p. p \\<^sub>p x context idom_isom begin sublocale comm_semiring_isom.. end interpretation poly_x_minus_y_hom: factor_preserving_hom "poly_x_minus_y :: 'a :: idom poly \ 'a poly poly" proof- interpret x_y_hom: bijective "\p :: 'a poly poly. p \\<^sub>p x_y" proof (unfold bijective_eq_bij, rule id_imp_bij) fix p :: "'a poly poly" show "p \\<^sub>p x_y \\<^sub>p x_y = p" apply (induct p,simp) apply(unfold x_y_def hom_distribs pcompose_pCons) by (simp) proof - have \p \\<^sub>p x_y \\<^sub>p x_y = p\ for p :: \'a poly poly\ proof (induction p) case 0 show ?case by simp next case (pCons a p) then show ?case by (unfold x_y_def hom_distribs pcompose_pCons) simp qed interpret x_y_hom: idom_isom "\p :: 'a poly poly. p \\<^sub>p x_y" by (unfold_locales, auto) show "factor_preserving_hom (poly_x_minus_y :: 'a poly \ _)" by (unfold poly_x_minus_y_as_comp, rule factor_preserving_hom_comp, unfold_locales) then interpret x_y_hom: bijective "\p :: 'a poly poly. p \\<^sub>p x_y" by (unfold bijective_eq_bij) (rule involuntory_imp_bij) interpret x_y_hom: idom_isom "\p :: 'a poly poly. p \\<^sub>p x_y" by standard simp_all have \factor_preserving_hom (\p :: 'a poly poly. p \\<^sub>p x_y)\ and \factor_preserving_hom (poly_lift :: 'a poly \ 'a poly poly)\ .. then show "factor_preserving_hom (poly_x_minus_y :: 'a poly \ _)" by (unfold poly_x_minus_y_as_comp) (rule factor_preserving_hom_comp) qed text \ ... ...