equal
deleted
inserted
replaced
1686 using finite_cmul_nonzero [of c a] |
1686 using finite_cmul_nonzero [of c a] |
1687 by (metis lookup_frag_cmul mult_zero_right not_in_keys_iff_lookup_eq_zero subsetI) |
1687 by (metis lookup_frag_cmul mult_zero_right not_in_keys_iff_lookup_eq_zero subsetI) |
1688 |
1688 |
1689 |
1689 |
1690 lemma keys_cmul_iff [iff]: "i \<in> Poly_Mapping.keys (frag_cmul c x) \<longleftrightarrow> i \<in> Poly_Mapping.keys x \<and> c \<noteq> 0" |
1690 lemma keys_cmul_iff [iff]: "i \<in> Poly_Mapping.keys (frag_cmul c x) \<longleftrightarrow> i \<in> Poly_Mapping.keys x \<and> c \<noteq> 0" |
1691 apply (auto simp: ) |
1691 apply auto |
1692 apply (meson subsetD keys_cmul) |
1692 apply (meson subsetD keys_cmul) |
1693 by (metis in_keys_iff lookup_frag_cmul mult_eq_0_iff) |
1693 by (metis in_keys_iff lookup_frag_cmul mult_eq_0_iff) |
1694 |
1694 |
1695 lemma keys_minus [simp]: "Poly_Mapping.keys(-a) = Poly_Mapping.keys a" |
1695 lemma keys_minus [simp]: "Poly_Mapping.keys(-a) = Poly_Mapping.keys a" |
1696 by (metis (no_types, opaque_lifting) in_keys_iff lookup_uminus neg_equal_0_iff_equal subsetI subset_antisym) |
1696 by (metis (no_types, opaque_lifting) in_keys_iff lookup_uminus neg_equal_0_iff_equal subsetI subset_antisym) |