src/HOL/Tools/semiring_normalizer.ML
changeset 67399 eab6ce8368fa
parent 63201 f151704c08e4
child 67559 833d154ab189
equal deleted inserted replaced
67398:5eb932e604a2 67399:eab6ce8368fa
   122       (case Rat.dest x of (i, 1) => i | _ => error "int_of_rat: bad int")),
   122       (case Rat.dest x of (i, 1) => i | _ => error "int_of_rat: bad int")),
   123     conv = (fn ctxt =>
   123     conv = (fn ctxt =>
   124       Simplifier.rewrite (put_simpset semiring_norm_ss ctxt)
   124       Simplifier.rewrite (put_simpset semiring_norm_ss ctxt)
   125       then_conv Simplifier.rewrite (put_simpset HOL_basic_ss ctxt addsimps @{thms numeral_One}))};
   125       then_conv Simplifier.rewrite (put_simpset HOL_basic_ss ctxt addsimps @{thms numeral_One}))};
   126 
   126 
   127 val divide_const = Thm.cterm_of @{context} (Logic.varify_global @{term "op /"});
   127 val divide_const = Thm.cterm_of @{context} (Logic.varify_global @{term "(/)"});
   128 val [divide_tvar] = Term.add_tvars (Thm.term_of divide_const) [];
   128 val [divide_tvar] = Term.add_tvars (Thm.term_of divide_const) [];
   129 
   129 
   130 val field_funs =
   130 val field_funs =
   131   let
   131   let
   132     fun numeral_is_const ct =
   132     fun numeral_is_const ct =