author | paulson |
Fri, 18 Sep 1998 14:36:54 +0200 | |
changeset 5499 | 1787c44ae4ed |
parent 5188 | 633ec5f6c155 |
child 5714 | b4f2e281a907 |
permissions | -rw-r--r-- |
(* Title: HOL/Nat.thy ID: $Id$ Author: Tobias Nipkow Copyright 1997 TU Muenchen Type "nat" is a linear order, and a datatype *) Nat = NatDef + Inductive + setup DatatypePackage.setup rep_datatype nat distinct "[[Suc_not_Zero, Zero_not_Suc]]" inject "[[Suc_Suc_eq]]" induct nat_induct instance nat :: order (le_refl,le_trans,le_anti_sym,nat_less_le) instance nat :: linorder (nat_le_linear) consts "^" :: ['a::power,nat] => 'a (infixr 80) end