src/HOL/Library/Groups_Big_Fun.thy
changeset 61378 3e04c9ca001a
parent 60500 903bb1495239
child 61424 c3658c18b7bc
equal deleted inserted replaced
61377:517feb558c77 61378:3e04c9ca001a
   240 
   240 
   241 syntax
   241 syntax
   242   "_Sum_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_add"    ("(3SUM _. _)" [0, 10] 10)
   242   "_Sum_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_add"    ("(3SUM _. _)" [0, 10] 10)
   243 syntax (xsymbols)
   243 syntax (xsymbols)
   244   "_Sum_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_add"    ("(3\<Sum>_. _)" [0, 10] 10)
   244   "_Sum_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_add"    ("(3\<Sum>_. _)" [0, 10] 10)
   245 syntax (HTML output)
       
   246   "_Sum_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_add"    ("(3\<Sum>_. _)" [0, 10] 10)
       
   247 
       
   248 translations
   245 translations
   249   "\<Sum>a. b" == "CONST Sum_any (\<lambda>a. b)"
   246   "\<Sum>a. b" == "CONST Sum_any (\<lambda>a. b)"
   250 
   247 
   251 lemma Sum_any_left_distrib:
   248 lemma Sum_any_left_distrib:
   252   fixes r :: "'a :: semiring_0"
   249   fixes r :: "'a :: semiring_0"
   316 
   313 
   317 syntax
   314 syntax
   318   "_Prod_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_mult"    ("(3PROD _. _)" [0, 10] 10)
   315   "_Prod_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_mult"    ("(3PROD _. _)" [0, 10] 10)
   319 syntax (xsymbols)
   316 syntax (xsymbols)
   320   "_Prod_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_mult"    ("(3\<Prod>_. _)" [0, 10] 10)
   317   "_Prod_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_mult"    ("(3\<Prod>_. _)" [0, 10] 10)
   321 syntax (HTML output)
       
   322   "_Prod_any" :: "pttrn \<Rightarrow> 'a \<Rightarrow> 'a::comm_monoid_mult"    ("(3\<Prod>_. _)" [0, 10] 10)
       
   323 
       
   324 translations
   318 translations
   325   "\<Prod>a. b" == "CONST Prod_any (\<lambda>a. b)"
   319   "\<Prod>a. b" == "CONST Prod_any (\<lambda>a. b)"
   326 
   320 
   327 lemma Prod_any_zero:
   321 lemma Prod_any_zero:
   328   fixes f :: "'b \<Rightarrow> 'a :: comm_semiring_1"
   322   fixes f :: "'b \<Rightarrow> 'a :: comm_semiring_1"