src/HOL/Rat.thy
changeset 53015 a1119cf551e8
parent 52146 ceb31e1ded30
child 53017 0f376701e83b
equal deleted inserted replaced
53009:bb18eed53ed6 53015:a1119cf551e8
   407 proof (clarsimp)
   407 proof (clarsimp)
   408   fix a b c d :: int
   408   fix a b c d :: int
   409   assume "b \<noteq> 0" and "d \<noteq> 0" and "a * d = c * b"
   409   assume "b \<noteq> 0" and "d \<noteq> 0" and "a * d = c * b"
   410   hence "a * d * b * d = c * b * b * d"
   410   hence "a * d * b * d = c * b * b * d"
   411     by simp
   411     by simp
   412   hence "a * b * d\<twosuperior> = c * d * b\<twosuperior>"
   412   hence "a * b * d\<^sup>2 = c * d * b\<^sup>2"
   413     unfolding power2_eq_square by (simp add: mult_ac)
   413     unfolding power2_eq_square by (simp add: mult_ac)
   414   hence "0 < a * b * d\<twosuperior> \<longleftrightarrow> 0 < c * d * b\<twosuperior>"
   414   hence "0 < a * b * d\<^sup>2 \<longleftrightarrow> 0 < c * d * b\<^sup>2"
   415     by simp
   415     by simp
   416   thus "0 < a * b \<longleftrightarrow> 0 < c * d"
   416   thus "0 < a * b \<longleftrightarrow> 0 < c * d"
   417     using `b \<noteq> 0` and `d \<noteq> 0`
   417     using `b \<noteq> 0` and `d \<noteq> 0`
   418     by (simp add: zero_less_mult_iff)
   418     by (simp add: zero_less_mult_iff)
   419 qed
   419 qed