equal
deleted
inserted
replaced
251 |
251 |
252 use "Tools/Groebner_Basis/normalizer.ML" |
252 use "Tools/Groebner_Basis/normalizer.ML" |
253 |
253 |
254 |
254 |
255 method_setup sring_norm = {* |
255 method_setup sring_norm = {* |
256 Method.ctxt_args (fn ctxt => Method.SIMPLE_METHOD' (Normalizer.semiring_normalize_tac ctxt)) |
256 Method.ctxt_args (SIMPLE_METHOD' o Normalizer.semiring_normalize_tac) |
257 *} "semiring normalizer" |
257 *} "semiring normalizer" |
258 |
258 |
259 |
259 |
260 locale gb_field = gb_ring + |
260 locale gb_field = gb_ring + |
261 fixes divide :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" |
261 fixes divide :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" |
429 in |
429 in |
430 fn src => Method.syntax |
430 fn src => Method.syntax |
431 ((Scan.optional (keyword addN |-- thms) []) -- |
431 ((Scan.optional (keyword addN |-- thms) []) -- |
432 (Scan.optional (keyword delN |-- thms) [])) src |
432 (Scan.optional (keyword delN |-- thms) [])) src |
433 #> (fn ((add_ths, del_ths), ctxt) => |
433 #> (fn ((add_ths, del_ths), ctxt) => |
434 Method.SIMPLE_METHOD' (Groebner.algebra_tac add_ths del_ths ctxt)) |
434 SIMPLE_METHOD' (Groebner.algebra_tac add_ths del_ths ctxt)) |
435 end |
435 end |
436 *} "solve polynomial equations over (semi)rings and ideal membership problems using Groebner bases" |
436 *} "solve polynomial equations over (semi)rings and ideal membership problems using Groebner bases" |
437 declare dvd_def[algebra] |
437 declare dvd_def[algebra] |
438 declare dvd_eq_mod_eq_0[symmetric, algebra] |
438 declare dvd_eq_mod_eq_0[symmetric, algebra] |
439 declare mod_div_trivial[algebra] |
439 declare mod_div_trivial[algebra] |