src/HOL/Integ/Ring.thy
changeset 2281 e00c13a29eda
equal deleted inserted replaced
2280:eb2ba30c2981 2281:e00c13a29eda
       
     1 (*  Title:      HOL/Integ/Ring.thy
       
     2     ID:         $Id$
       
     3     Author:     Tobias Nipkow
       
     4     Copyright   1996 TU Muenchen
       
     5 
       
     6 Bits of rings.
       
     7 Main output: a simplification tactic for commutative rings.
       
     8 *)
       
     9 
       
    10 Ring = Group +
       
    11 
       
    12 (* Ring *)
       
    13 
       
    14 axclass  ring < add_agroup, times
       
    15   times_assoc "(x*y)*z = x*(y*z)"
       
    16   distribL    "x*(y+z) = x*y + x*z"
       
    17   distribR    "(x+y)*z = x*z + y*z"
       
    18 
       
    19 (* Commutative ring *)
       
    20 
       
    21 axclass cring < ring
       
    22   times_commute "x*y = y*x"
       
    23 
       
    24 end