src/HOL/Library/Function_Algebras.thy
changeset 60562 24af00b010cf
parent 60500 903bb1495239
child 60679 ade12ef2773c
equal deleted inserted replaced
60560:ce7030d9191d 60562:24af00b010cf
   152 
   152 
   153 instance "fun" :: (type, comm_semiring_1) comm_semiring_1 ..
   153 instance "fun" :: (type, comm_semiring_1) comm_semiring_1 ..
   154 
   154 
   155 instance "fun" :: (type, semiring_1_cancel) semiring_1_cancel ..
   155 instance "fun" :: (type, semiring_1_cancel) semiring_1_cancel ..
   156 
   156 
   157 instance "fun" :: (type, comm_semiring_1_cancel) comm_semiring_1_cancel ..
   157 instance "fun" :: (type, comm_semiring_1_cancel) comm_semiring_1_cancel 
       
   158   by default (auto simp add: times_fun_def algebra_simps)
   158 
   159 
   159 instance "fun" :: (type, semiring_char_0) semiring_char_0
   160 instance "fun" :: (type, semiring_char_0) semiring_char_0
   160 proof
   161 proof
   161   from inj_of_nat have "inj (\<lambda>n (x::'a). of_nat n :: 'b)"
   162   from inj_of_nat have "inj (\<lambda>n (x::'a). of_nat n :: 'b)"
   162     by (rule inj_fun)
   163     by (rule inj_fun)