src/HOL/Library/Poly_Mapping.thy
changeset 73655 26a1d66b9077
parent 70045 7b6add80e3a5
child 73932 fd21b4a93043
equal deleted inserted replaced
73654:6e85281177df 73655:26a1d66b9077
  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 =