src/HOL/Integ/Int.thy
author kleing
Tue, 13 May 2003 08:59:21 +0200
changeset 14024 213dcc39358f
parent 13588 07b66a557487
child 14264 3d0c6238162a
permissions -rw-r--r--
HOL-Real -> HOL-Complex
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13577
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     1
(*  Title:      Integ/Int.thy
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     2
    ID:         $Id$
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     3
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     4
    Copyright   1998  University of Cambridge
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     5
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     6
Type "int" is a linear order
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     7
*)
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     8
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
     9
theory Int = IntDef
13588
07b66a557487 Renamed Integ/int.ML to Integ/Int_lemmas.ML to prevent confusion with Int.ML
paulson
parents: 13577
diff changeset
    10
files ("Int_lemmas.ML"):
13577
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    11
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    12
instance int :: order
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    13
proof qed (assumption | rule zle_refl zle_trans zle_anti_sym int_less_le)+
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    14
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    15
instance int :: plus_ac0
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    16
proof qed (rule zadd_commute zadd_assoc zadd_0)+
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    17
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    18
instance int :: linorder
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    19
proof qed (rule zle_linear)
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    20
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    21
constdefs
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    22
 nat  :: "int => nat"
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    23
"nat(Z) == if neg Z then 0 else (THE m. Z = int m)"
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    24
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    25
defs (overloaded)
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    26
zabs_def:  "abs(i::int) == if i < 0 then -i else i"
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    27
13588
07b66a557487 Renamed Integ/int.ML to Integ/Int_lemmas.ML to prevent confusion with Int.ML
paulson
parents: 13577
diff changeset
    28
use "Int_lemmas.ML"
13577
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    29
25b14a786c08 conversion to Isar
nipkow
parents:
diff changeset
    30
end