src/HOL/Integ/Int.thy
author wenzelm
Tue, 29 Aug 2000 00:55:59 +0200
changeset 9714 79db0e5b7824
parent 9214 9454f30eacc7
child 11451 8abfb4f7bd02
permissions -rw-r--r--
Simplifier.cong_add_global;

(*  Title:      Integ/Int.thy
    ID:         $Id$
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1998  University of Cambridge

Type "int" is a linear order
*)

Int = IntDef +

instance int :: order (zle_refl,zle_trans,zle_anti_sym,int_less_le)
instance int :: plus_ac0 (zadd_commute,zadd_assoc,zadd_zero)
instance int :: linorder (zle_linear)

constdefs
  nat  :: int => nat
  "nat(Z) == if neg Z then 0 else (@ m. Z = int m)"

defs
  zabs_def  "abs(i::int) == if i < 0 then -i else i"

end