src/HOL/Real/RealVector.thy
changeset 24513 f39e79334052
parent 24506 020db6ec334a
child 24520 40b220403257
equal deleted inserted replaced
24512:fc4959967b30 24513:f39e79334052
   374 class norm = type +
   374 class norm = type +
   375   fixes norm :: "'a \<Rightarrow> real"
   375   fixes norm :: "'a \<Rightarrow> real"
   376 
   376 
   377 instance real :: norm
   377 instance real :: norm
   378   real_norm_def [simp]: "norm r \<equiv> \<bar>r\<bar>" ..
   378   real_norm_def [simp]: "norm r \<equiv> \<bar>r\<bar>" ..
   379 ML"set Toplevel.debug"
       
   380 
   379 
   381 class sgn_div_norm = scaleR + inverse + norm + sgn +
   380 class sgn_div_norm = scaleR + inverse + norm + sgn +
   382 assumes sgn_div_norm: "sgn x = x /# norm x"
   381 assumes sgn_div_norm: "sgn x = x /# norm x"
   383 (* FIXME junk needed because of bug in locales *)
   382 (* FIXME junk needed because of broken locale interpretation *)
   384 and "(sgn :: 'a::scaleR \<Rightarrow> 'a) = sgn"
   383 and "(sgn :: 'a::scaleR \<Rightarrow> 'a) = sgn"
   385 and "(inverse :: 'a::scaleR \<Rightarrow> 'a) = inverse"
   384 and "(inverse :: 'a::scaleR \<Rightarrow> 'a) = inverse"
   386 and "(scaleR :: real \<Rightarrow> 'a::scaleR \<Rightarrow> 'a) = scaleR"
   385 and "(scaleR :: real \<Rightarrow> 'a::scaleR \<Rightarrow> 'a) = scaleR"
   387 
   386 
   388 axclass real_normed_vector < real_vector, sgn_div_norm
   387 axclass real_normed_vector < real_vector, sgn_div_norm