author paulson
Tue, 23 May 2000 18:08:52 +0200
changeset 8936 a1c426541757
parent 6921 78a2ce8fb8df
child 11701 3d51fbf81c17
permissions -rw-r--r--
Now that 0 is overloaded, constant "zero" and its type class "zero" are no longer needed. Also IntRingDefs is redundant

(*  Title:      HOL/Integ/IntRing.thy
    ID:         $Id$
    Author:     Tobias Nipkow and Markus Wenzel
    Copyright   1996 TU Muenchen

The integers form a commutative ring.
With an application of Lagrange's lemma.

IntRing = Ring + Lagrange +

instance int :: add_semigroup (zadd_assoc)
instance int :: add_monoid (IntDef.Zero_def,zadd_int0,zadd_int0_right)
instance int :: add_group {|Auto_tac|}
instance int :: add_agroup (zadd_commute)
instance int :: ring (zmult_assoc,zadd_zmult_distrib2,zadd_zmult_distrib)
instance int :: cring (zmult_commute)