src/HOL/Rat.thy
changeset 35726 059d2f7b979f
parent 35402 115a5a95710a
child 36112 7fa17a225852
equal deleted inserted replaced
35725:4d7e3cc9c52c 35726:059d2f7b979f
  1102 
  1102 
  1103 end
  1103 end
  1104 
  1104 
  1105 lemma rat_less_eq_code [code]:
  1105 lemma rat_less_eq_code [code]:
  1106   "p \<le> q \<longleftrightarrow> (let (a, c) = quotient_of p; (b, d) = quotient_of q in a * d \<le> c * b)"
  1106   "p \<le> q \<longleftrightarrow> (let (a, c) = quotient_of p; (b, d) = quotient_of q in a * d \<le> c * b)"
  1107   by (cases p, cases q) (simp add: quotient_of_Fract times.commute)
  1107   by (cases p, cases q) (simp add: quotient_of_Fract mult.commute)
  1108 
  1108 
  1109 lemma rat_less_code [code]:
  1109 lemma rat_less_code [code]:
  1110   "p < q \<longleftrightarrow> (let (a, c) = quotient_of p; (b, d) = quotient_of q in a * d < c * b)"
  1110   "p < q \<longleftrightarrow> (let (a, c) = quotient_of p; (b, d) = quotient_of q in a * d < c * b)"
  1111   by (cases p, cases q) (simp add: quotient_of_Fract times.commute)
  1111   by (cases p, cases q) (simp add: quotient_of_Fract mult.commute)
  1112 
  1112 
  1113 lemma [code]:
  1113 lemma [code]:
  1114   "of_rat p = (let (a, b) = quotient_of p in of_int a / of_int b)"
  1114   "of_rat p = (let (a, b) = quotient_of p in of_int a / of_int b)"
  1115   by (cases p) (simp add: quotient_of_Fract of_rat_rat)
  1115   by (cases p) (simp add: quotient_of_Fract of_rat_rat)
  1116 
  1116