equal
deleted
inserted
replaced
1794 "(\<And>x. x \<in> Poly_Mapping.keys c \<Longrightarrow> f x = 0) \<Longrightarrow> frag_extend f c = 0" |
1794 "(\<And>x. x \<in> Poly_Mapping.keys c \<Longrightarrow> f x = 0) \<Longrightarrow> frag_extend f c = 0" |
1795 by (simp add: frag_extend_def) |
1795 by (simp add: frag_extend_def) |
1796 |
1796 |
1797 lemma keys_frag_extend: "Poly_Mapping.keys(frag_extend f c) \<subseteq> (\<Union>x \<in> Poly_Mapping.keys c. Poly_Mapping.keys(f x))" |
1797 lemma keys_frag_extend: "Poly_Mapping.keys(frag_extend f c) \<subseteq> (\<Union>x \<in> Poly_Mapping.keys c. Poly_Mapping.keys(f x))" |
1798 unfolding frag_extend_def |
1798 unfolding frag_extend_def |
1799 by (smt SUP_mono' keys_cmul keys_sum order_trans) |
1799 using keys_sum by fastforce |
1800 |
1800 |
1801 lemma frag_expansion: "a = frag_extend frag_of a" |
1801 lemma frag_expansion: "a = frag_extend frag_of a" |
1802 proof - |
1802 proof - |
1803 have *: "finite I |
1803 have *: "finite I |
1804 \<Longrightarrow> Poly_Mapping.lookup (\<Sum>i\<in>I. frag_cmul (Poly_Mapping.lookup a i) (frag_of i)) j = |
1804 \<Longrightarrow> Poly_Mapping.lookup (\<Sum>i\<in>I. frag_cmul (Poly_Mapping.lookup a i) (frag_of i)) j = |