src/HOL/Integ/Integ.ML
changeset 2596 3b4ad6c7726f
parent 2224 4fc4b465be5b
child 2683 be7b439baef2
equal deleted inserted replaced
2595:548f8ed89a80 2596:3b4ad6c7726f
   575 by (res_inst_tac [("z","z")] eq_Abs_Integ 1);
   575 by (res_inst_tac [("z","z")] eq_Abs_Integ 1);
   576 by (res_inst_tac [("z","w")] eq_Abs_Integ 1);
   576 by (res_inst_tac [("z","w")] eq_Abs_Integ 1);
   577 by (safe_tac (!claset));
   577 by (safe_tac (!claset));
   578 by (asm_full_simp_tac (!simpset addsimps [zadd, zminus]) 1);
   578 by (asm_full_simp_tac (!simpset addsimps [zadd, zminus]) 1);
   579 by (safe_tac (!claset addSDs [less_eq_Suc_add]));
   579 by (safe_tac (!claset addSDs [less_eq_Suc_add]));
       
   580 by (rename_tac "k" 1);
   580 by (res_inst_tac [("x","k")] exI 1);
   581 by (res_inst_tac [("x","k")] exI 1);
   581 by (asm_full_simp_tac (!simpset delsimps [add_Suc, add_Suc_right]
   582 by (asm_full_simp_tac (!simpset delsimps [add_Suc, add_Suc_right]
   582                                 addsimps ([add_Suc RS sym] @ add_ac)) 1);
   583                                 addsimps ([add_Suc RS sym] @ add_ac)) 1);
   583 (*To cancel x2, rename it to be first!*)
   584 (*To cancel x2, rename it to be first!*)
   584 by (rename_tac "a b c" 1);
   585 by (rename_tac "a b" 1);
   585 by (asm_full_simp_tac (!simpset delsimps [add_Suc_right]
   586 by (asm_full_simp_tac (!simpset delsimps [add_Suc_right]
   586                                 addsimps (add_left_cancel::add_ac)) 1);
   587                                 addsimps (add_left_cancel::add_ac)) 1);
   587 qed "zless_eq_zadd_Suc";
   588 qed "zless_eq_zadd_Suc";
   588 
   589 
   589 goalw Integ.thy [zless_def, znegative_def, zdiff_def, znat_def] 
   590 goalw Integ.thy [zless_def, znegative_def, zdiff_def, znat_def]