src/HOL/Real/Rational.thy
changeset 24661 a705b9834590
parent 24630 351a308ab58d
child 25502 9200b36280c0
equal deleted inserted replaced
24660:8f94b16783f7 24661:a705b9834590
   682 types_code
   682 types_code
   683   rat ("(int */ int)")
   683   rat ("(int */ int)")
   684 attach (term_of) {*
   684 attach (term_of) {*
   685 fun term_of_rat (p, q) =
   685 fun term_of_rat (p, q) =
   686   let
   686   let
   687     val rT = @{typ rat}
   687     val rT = Type ("Rational.rat", [])
   688   in
   688   in
   689     if q = 1 orelse p = 0 then HOLogic.mk_number rT p
   689     if q = 1 orelse p = 0 then HOLogic.mk_number rT p
   690     else @{term "op / \<Colon> rat \<Rightarrow> rat \<Rightarrow> rat"} $
   690     else Const ("HOL.inverse_class.divide", rT --> rT --> rT) $
   691       HOLogic.mk_number rT p $ HOLogic.mk_number rT q
   691       HOLogic.mk_number rT p $ HOLogic.mk_number rT q
   692   end;
   692   end;
   693 *}
   693 *}
   694 attach (test) {*
   694 attach (test) {*
   695 fun gen_rat i =
   695 fun gen_rat i =