src/HOL/Rat.thy
changeset 62390 842917225d56
parent 62348 9a5f43dac883
child 63326 9d2470571719
equal deleted inserted replaced
62380:29800666e526 62390:842917225d56
   278     by (auto simp add: normalize_def Let_def dvd_div_div_eq_mult mult.commute sgn_times split: if_splits intro: aux)
   278     by (auto simp add: normalize_def Let_def dvd_div_div_eq_mult mult.commute sgn_times split: if_splits intro: aux)
   279 qed
   279 qed
   280 
   280 
   281 lemma normalize_eq: "normalize (a, b) = (p, q) \<Longrightarrow> Fract p q = Fract a b"
   281 lemma normalize_eq: "normalize (a, b) = (p, q) \<Longrightarrow> Fract p q = Fract a b"
   282   by (auto simp add: normalize_def Let_def Fract_coprime dvd_div_neg rat_number_collapse
   282   by (auto simp add: normalize_def Let_def Fract_coprime dvd_div_neg rat_number_collapse
   283     split:split_if_asm)
   283     split:if_split_asm)
   284 
   284 
   285 lemma normalize_denom_pos: "normalize r = (p, q) \<Longrightarrow> q > 0"
   285 lemma normalize_denom_pos: "normalize r = (p, q) \<Longrightarrow> q > 0"
   286   by (auto simp add: normalize_def Let_def dvd_div_neg pos_imp_zdiv_neg_iff nonneg1_imp_zdiv_pos_iff
   286   by (auto simp add: normalize_def Let_def dvd_div_neg pos_imp_zdiv_neg_iff nonneg1_imp_zdiv_pos_iff
   287     split:split_if_asm)
   287     split:if_split_asm)
   288 
   288 
   289 lemma normalize_coprime: "normalize r = (p, q) \<Longrightarrow> coprime p q"
   289 lemma normalize_coprime: "normalize r = (p, q) \<Longrightarrow> coprime p q"
   290   by (auto simp add: normalize_def Let_def dvd_div_neg div_gcd_coprime
   290   by (auto simp add: normalize_def Let_def dvd_div_neg div_gcd_coprime
   291     split:split_if_asm)
   291     split:if_split_asm)
   292 
   292 
   293 lemma normalize_stable [simp]:
   293 lemma normalize_stable [simp]:
   294   "q > 0 \<Longrightarrow> coprime p q \<Longrightarrow> normalize (p, q) = (p, q)"
   294   "q > 0 \<Longrightarrow> coprime p q \<Longrightarrow> normalize (p, q) = (p, q)"
   295   by (simp add: normalize_def)
   295   by (simp add: normalize_def)
   296 
   296