src/HOL/Integ/Bin.ML
changeset 6157 29942d3a1818
parent 6128 2acc5d36610c
child 6301 08245f5a436d
equal deleted inserted replaced
6156:0d52e7cbff29 6157:29942d3a1818
   490 
   490 
   491 Addsimprocs [fast_int_arith_simproc];
   491 Addsimprocs [fast_int_arith_simproc];
   492 
   492 
   493 (* FIXME: K true should be replaced by a sensible test to speed things up
   493 (* FIXME: K true should be replaced by a sensible test to speed things up
   494    in case there are lots of irrelevant terms involved.
   494    in case there are lots of irrelevant terms involved.
   495 *)
   495 
   496 val arith_tac =
   496 val arith_tac =
   497   refute_tac (K true) (REPEAT o split_tac[nat_diff_split])
   497   refute_tac (K true) (REPEAT o split_tac[nat_diff_split])
   498              ((REPEAT_DETERM o etac linorder_neqE) THEN' fast_arith_tac);
   498              ((REPEAT_DETERM o etac linorder_neqE) THEN' fast_arith_tac);
       
   499 *)
   499 
   500 
   500 (* Some test data
   501 (* Some test data
   501 Goal "!!a::int. [| a <= b; c <= d; x+y<z |] ==> a+c <= b+d";
   502 Goal "!!a::int. [| a <= b; c <= d; x+y<z |] ==> a+c <= b+d";
   502 by(fast_arith_tac 1);
   503 by(fast_arith_tac 1);
   503 Goal "!!a::int. [| a < b; c < d |] ==> a-d+ #2 <= b+(-c)";
   504 Goal "!!a::int. [| a < b; c < d |] ==> a-d+ #2 <= b+(-c)";