arith.ML
changeset 40 ac7b7003f177
parent 29 9769afcc1c4e
child 45 3d5b2b874e14
equal deleted inserted replaced
39:91614f0eb250 40:ac7b7003f177
   226 by (rtac le_add2 1);
   226 by (rtac le_add2 1);
   227 val le_add1 = result();
   227 val le_add1 = result();
   228 
   228 
   229 val less_add_Suc1 = standard (lessI RS (le_add1 RS le_less_trans));
   229 val less_add_Suc1 = standard (lessI RS (le_add1 RS le_less_trans));
   230 val less_add_Suc2 = standard (lessI RS (le_add2 RS le_less_trans));
   230 val less_add_Suc2 = standard (lessI RS (le_add2 RS le_less_trans));
       
   231 
       
   232 goal Arith.thy "m+k<=n --> m<=n::nat";
       
   233 by(nat_ind_tac "k" 1);
       
   234 by(ALLGOALS(simp_tac arith_ss));
       
   235 by(fast_tac (HOL_cs addDs [Suc_leD]) 1);
       
   236 val plus_leD1 = result() RS mp;