src/HOL/Hyperreal/HyperNat.thy
changeset 14738 83f1a514dcb4
parent 14691 e1eedc8cad37
child 15053 405be2b48f5b
     1.1 --- a/src/HOL/Hyperreal/HyperNat.thy	Tue May 11 14:00:02 2004 +0200
     1.2 +++ b/src/HOL/Hyperreal/HyperNat.thy	Tue May 11 20:11:08 2004 +0200
     1.3 @@ -158,7 +158,7 @@
     1.4  apply (simp add: hypnat_zero_def hypnat_add)
     1.5  done
     1.6  
     1.7 -instance hypnat :: plus_ac0
     1.8 +instance hypnat :: comm_monoid_add
     1.9    by intro_classes
    1.10      (assumption |
    1.11        rule hypnat_add_commute hypnat_add_assoc hypnat_add_zero_left)+
    1.12 @@ -280,13 +280,10 @@
    1.13  declare hypnat_zero_not_eq_one [THEN not_sym, simp]
    1.14  
    1.15  
    1.16 -text{*The Hypernaturals Form A Semiring*}
    1.17 -instance hypnat :: semiring
    1.18 +text{*The Hypernaturals Form A comm_semiring_1_cancel*}
    1.19 +instance hypnat :: comm_semiring_1_cancel
    1.20  proof
    1.21    fix i j k :: hypnat
    1.22 -  show "(i + j) + k = i + (j + k)" by (rule hypnat_add_assoc)
    1.23 -  show "i + j = j + i" by (rule hypnat_add_commute)
    1.24 -  show "0 + i = i" by simp
    1.25    show "(i * j) * k = i * (j * k)" by (rule hypnat_mult_assoc)
    1.26    show "i * j = j * i" by (rule hypnat_mult_commute)
    1.27    show "1 * i = i" by (rule hypnat_mult_1)
    1.28 @@ -352,9 +349,9 @@
    1.29  done
    1.30  
    1.31  
    1.32 -subsection{*The Hypernaturals Form an Ordered Semiring*}
    1.33 +subsection{*The Hypernaturals Form an Ordered comm_semiring_1_cancel*}
    1.34  
    1.35 -instance hypnat :: ordered_semiring
    1.36 +instance hypnat :: ordered_semidom
    1.37  proof
    1.38    fix x y z :: hypnat
    1.39    show "0 < (1::hypnat)"
    1.40 @@ -456,7 +453,7 @@
    1.41  qed
    1.42  
    1.43  
    1.44 -subsection{*The Embedding @{term hypnat_of_nat} Preserves Ring and 
    1.45 +subsection{*The Embedding @{term hypnat_of_nat} Preserves comm_ring_1 and 
    1.46        Order Properties*}
    1.47  
    1.48  constdefs