equal
deleted
inserted
replaced
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 |