436 [Simplifier.change_simpset_of (op addsimprocs) nat_cancel_sums] @ |
436 [Simplifier.change_simpset_of (op addsimprocs) nat_cancel_sums] @ |
437 init_lin_arith_data @ |
437 init_lin_arith_data @ |
438 [Simplifier.change_simpset_of (op addSolver) |
438 [Simplifier.change_simpset_of (op addSolver) |
439 (mk_solver "lin. arith." Fast_Arith.cut_lin_arith_tac), |
439 (mk_solver "lin. arith." Fast_Arith.cut_lin_arith_tac), |
440 Simplifier.change_simpset_of (op addsimprocs) [fast_nat_arith_simproc], |
440 Simplifier.change_simpset_of (op addsimprocs) [fast_nat_arith_simproc], |
441 Method.add_methods [("arith", (arith_method o # 2) oo Method.syntax Args.bang_facts, |
441 Method.add_methods [("arith", (arith_method o #2) oo Method.syntax Args.bang_facts, |
442 "decide linear arithmethic")], |
442 "decide linear arithmethic")], |
443 Attrib.add_attributes [("arith_split", |
443 Attrib.add_attributes [("arith_split", |
444 (Attrib.no_args arith_split_add, Attrib.no_args Attrib.undef_local_attribute), |
444 (Attrib.no_args arith_split_add, Attrib.no_args Attrib.undef_local_attribute), |
445 "declaration of split rules for arithmetic procedure")]]; |
445 "declaration of split rules for arithmetic procedure")]]; |