src/HOL/Hyperreal/StarClasses.thy
changeset 24506 020db6ec334a
parent 24195 7d1a16c77f7c
child 24742 73b8b42a36b6
equal deleted inserted replaced
24505:9e6d91f8bb73 24506:020db6ec334a
    28   star_diff_def:    "(op -) \<equiv> *f2* (op -)" ..
    28   star_diff_def:    "(op -) \<equiv> *f2* (op -)" ..
    29 
    29 
    30 instance star :: (abs) abs
    30 instance star :: (abs) abs
    31   star_abs_def:     "abs \<equiv> *f* abs" ..
    31   star_abs_def:     "abs \<equiv> *f* abs" ..
    32 
    32 
       
    33 instance star :: (sgn) sgn
       
    34   star_sgn_def:     "sgn \<equiv> *f* sgn" ..
       
    35 
    33 instance star :: (inverse) inverse
    36 instance star :: (inverse) inverse
    34   star_divide_def:  "(op /) \<equiv> *f2* (op /)"
    37   star_divide_def:  "(op /) \<equiv> *f2* (op /)"
    35   star_inverse_def: "inverse \<equiv> *f* inverse" ..
    38   star_inverse_def: "inverse \<equiv> *f* inverse" ..
    36 
    39 
    37 instance star :: (number) number
    40 instance star :: (number) number
    50 
    53 
    51 lemmas star_class_defs [transfer_unfold] =
    54 lemmas star_class_defs [transfer_unfold] =
    52   star_zero_def     star_one_def      star_number_def
    55   star_zero_def     star_one_def      star_number_def
    53   star_add_def      star_diff_def     star_minus_def
    56   star_add_def      star_diff_def     star_minus_def
    54   star_mult_def     star_divide_def   star_inverse_def
    57   star_mult_def     star_divide_def   star_inverse_def
    55   star_le_def       star_less_def     star_abs_def
    58   star_le_def       star_less_def     star_abs_def       star_sgn_def
    56   star_div_def      star_mod_def      star_power_def
    59   star_div_def      star_mod_def      star_power_def
    57 
    60 
    58 text {* Class operations preserve standard elements *}
    61 text {* Class operations preserve standard elements *}
    59 
    62 
    60 lemma Standard_zero: "0 \<in> Standard"
    63 lemma Standard_zero: "0 \<in> Standard"
   411 instance star :: (lordered_ring) lordered_ring ..
   414 instance star :: (lordered_ring) lordered_ring ..
   412 
   415 
   413 instance star :: (abs_if) abs_if
   416 instance star :: (abs_if) abs_if
   414 by (intro_classes, transfer, rule abs_if)
   417 by (intro_classes, transfer, rule abs_if)
   415 
   418 
       
   419 instance star :: (sgn_if) sgn_if
       
   420 by (intro_classes, transfer, rule sgn_if)
       
   421 
   416 instance star :: (ordered_ring_strict) ordered_ring_strict ..
   422 instance star :: (ordered_ring_strict) ordered_ring_strict ..
   417 instance star :: (pordered_comm_ring) pordered_comm_ring ..
   423 instance star :: (pordered_comm_ring) pordered_comm_ring ..
   418 
   424 
   419 instance star :: (ordered_semidom) ordered_semidom
   425 instance star :: (ordered_semidom) ordered_semidom
   420 by (intro_classes, transfer, rule zero_less_one)
   426 by (intro_classes, transfer, rule zero_less_one)