# HG changeset patch # User Manuel Eberl # Date 1609785698 -3600 # Node ID ab9e27da0e85c365eefdeb45a1e711ddb923affd # Parent 32edc2b4e24385e0a9ec063af0b16be7d757b0fd HOL-Library: Changed notation for sum_mset diff -r 32edc2b4e243 -r ab9e27da0e85 NEWS --- a/NEWS Mon Jan 04 19:56:33 2021 +0100 +++ b/NEWS Mon Jan 04 19:41:38 2021 +0100 @@ -162,6 +162,9 @@ * Library theory "Signed_Division" provides operations for signed division, instantiated for type int. +* Theory "Multiset": removed misleading notation \# for sum_mset; +replaced with \\<^sub>#. + * Self-contained library theory "Word" taken over from former session "HOL-Word". diff -r 32edc2b4e243 -r ab9e27da0e85 src/HOL/Computational_Algebra/Primes.thy --- a/src/HOL/Computational_Algebra/Primes.thy Mon Jan 04 19:56:33 2021 +0100 +++ b/src/HOL/Computational_Algebra/Primes.thy Mon Jan 04 19:41:38 2021 +0100 @@ -751,7 +751,7 @@ lemma prime_factorization_prod_mset: assumes "0 \# A" - shows "prime_factorization (prod_mset A) = \#(image_mset prime_factorization A)" + shows "prime_factorization (prod_mset A) = \\<^sub>#(image_mset prime_factorization A)" using assms by (induct A) (auto simp add: prime_factorization_mult) lemma prime_factors_prod: diff -r 32edc2b4e243 -r ab9e27da0e85 src/HOL/Data_Structures/Sorting.thy --- a/src/HOL/Data_Structures/Sorting.thy Mon Jan 04 19:56:33 2021 +0100 +++ b/src/HOL/Data_Structures/Sorting.thy Mon Jan 04 19:41:38 2021 +0100 @@ -272,7 +272,7 @@ subsubsection "Functional Correctness" abbreviation mset_mset :: "'a list list \ 'a multiset" where -"mset_mset xss \ \# (image_mset mset (mset xss))" +"mset_mset xss \ \\<^sub># (image_mset mset (mset xss))" lemma mset_merge_adj: "mset_mset (merge_adj xss) = mset_mset xss" diff -r 32edc2b4e243 -r ab9e27da0e85 src/HOL/Library/Multiset.thy --- a/src/HOL/Library/Multiset.thy Mon Jan 04 19:56:33 2021 +0100 +++ b/src/HOL/Library/Multiset.thy Mon Jan 04 19:41:38 2021 +0100 @@ -2293,6 +2293,8 @@ end +notation sum_mset ("\\<^sub>#") + syntax (ASCII) "_sum_mset_image" :: "pttrn \ 'b set \ 'a \ 'a::comm_monoid_add" ("(3SUM _:#_. _)" [0, 51, 10] 10) syntax @@ -2389,14 +2391,10 @@ shows \(\x\#A. y) = of_nat (size A) * y\ by (induction A) (auto simp: algebra_simps) -abbreviation Union_mset :: "'a multiset multiset \ 'a multiset" ("\#") - where "\# MM \ sum_mset MM" \ \FIXME ambiguous notation -- - could likewise refer to \\#\\ - -lemma set_mset_Union_mset[simp]: "set_mset (\# MM) = (\M \ set_mset MM. set_mset M)" +lemma set_mset_Union_mset[simp]: "set_mset (\\<^sub># MM) = (\M \ set_mset MM. set_mset M)" by (induct MM) auto -lemma in_Union_mset_iff[iff]: "x \# \# MM \ (\M. M \# MM \ x \# M)" +lemma in_Union_mset_iff[iff]: "x \# \\<^sub># MM \ (\M. M \# MM \ x \# M)" by (induct MM) auto lemma count_sum: @@ -2408,10 +2406,10 @@ shows "sum f A = {#} \ (\a\A. f a = {#})" using assms by induct simp_all -lemma Union_mset_empty_conv[simp]: "\# M = {#} \ (\i\#M. i = {#})" +lemma Union_mset_empty_conv[simp]: "\\<^sub># M = {#} \ (\i\#M. i = {#})" by (induction M) auto -lemma Union_image_single_mset[simp]: "\# (image_mset (\x. {#x#}) m) = m" +lemma Union_image_single_mset[simp]: "\\<^sub># (image_mset (\x. {#x#}) m) = m" by(induction m) auto